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/),    compression    (https://rclone.org/com
45       press/),      chunking      (https://rclone.org/chunker/),      hashing
46       (https://rclone.org/hasher/) 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       • SeaweedFS
221
222       • SFTP
223
224       • Sia
225
226       • StackPath
227
228       • SugarSync
229
230       • Tardigrade
231
232       • Tencent Cloud Object Storage (COS)
233
234       • Uptobox
235
236       • Wasabi
237
238       • WebDAV
239
240       • Yandex Disk
241
242       • Zoho WorkDrive
243
244       • The local filesystem
245
246       Links
247
248       • Home page (https://rclone.org/)
249
250       • GitHub     project     page    for    source    and    bug    tracker
251         (https://github.com/rclone/rclone)
252
253       • Rclone Forum (https://forum.rclone.org)
254
255       • Downloads (https://rclone.org/downloads/)
256

Install

258       Rclone is a Go program and comes as a single binary file.
259
260   Quickstart
261       • Download (https://rclone.org/downloads/) the relevant binary.
262
263       • Extract the rclone executable, rclone.exe on Windows,  from  the  ar‐
264         chive.
265
266       • Run    rclone    config   to   setup.    See   rclone   config   docs
267         (https://rclone.org/docs/) for more details.
268
269       • Optionally configure automatic execution.
270
271       See below for some expanded Linux / macOS instructions.
272
273       See the usage (https://rclone.org/docs/) docs for how to use rclone, or
274       run rclone -h.
275
276       Already  installed  rclone  can be easily updated to the latest version
277       using the rclone selfupdate (https://rclone.org/commands/rclone_selfup
278       date/) command.
279
280   Script installation
281       To install rclone on Linux/macOS/BSD systems, run:
282
283              curl https://rclone.org/install.sh | sudo bash
284
285       For beta installation, run:
286
287              curl https://rclone.org/install.sh | sudo bash -s beta
288
289       Note  that this script checks the version of rclone installed first and
290       won't re-download if not needed.
291
292   Linux installation from precompiled binary
293       Fetch and unpack
294
295              curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
296              unzip rclone-current-linux-amd64.zip
297              cd rclone-*-linux-amd64
298
299       Copy binary file
300
301              sudo cp rclone /usr/bin/
302              sudo chown root:root /usr/bin/rclone
303              sudo chmod 755 /usr/bin/rclone
304
305       Install manpage
306
307              sudo mkdir -p /usr/local/share/man/man1
308              sudo cp rclone.1 /usr/local/share/man/man1/
309              sudo mandb
310
311       Run   rclone   config   to   setup.     See    rclone    config    docs
312       (https://rclone.org/docs/) for more details.
313
314              rclone config
315
316   macOS installation with brew
317              brew install rclone
318
319       NOTE: This version of rclone will not support mount any more (see #5373
320       (https://github.com/rclone/rclone/issues/5373)).  If mounting is wanted
321       on  macOS,  either  install a precompiled binary or enable the relevant
322       option when installing from source.
323
324   macOS installation from precompiled binary, using curl
325       To avoid problems with macOS gatekeeper  enforcing  the  binary  to  be
326       signed and notarized it is enough to download with curl.
327
328       Download the latest version of rclone.
329
330              cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
331
332       Unzip the download and cd to the extracted folder.
333
334              unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
335
336       Move rclone to your $PATH.  You will be prompted for your password.
337
338              sudo mkdir -p /usr/local/bin
339              sudo mv rclone /usr/local/bin/
340
341       (the  mkdir  command  is safe to run, even if the directory already ex‐
342       ists).
343
344       Remove the leftover files.
345
346              cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
347
348       Run   rclone   config   to   setup.     See    rclone    config    docs
349       (https://rclone.org/docs/) for more details.
350
351              rclone config
352
353   macOS installation from precompiled binary, using a web browser
354       When  downloading a binary with a web browser, the browser will set the
355       macOS gatekeeper quarantine attribute.  Starting  from  Catalina,  when
356       attempting to run rclone, a pop-up will appear saying:
357
358              “rclone” cannot be opened because the developer cannot be verified.
359              macOS cannot verify that this app is free from malware.
360
361       The simplest fix is to run
362
363              xattr -d com.apple.quarantine rclone
364
365   Install with docker
366       The  rclone  maintains  a  docker  image  for rclone (https://hub.dock
367       er.com/r/rclone/rclone).  These images are autobuilt by docker hub from
368       the rclone source based on a minimal Alpine linux image.
369
370       The  :latest  tag  will always point to the latest stable release.  You
371       can use the :beta tag to get the latest build from master.  You can al‐
372       so use version tags, e.g.  :1.49.1, :1.49 or :1.
373
374              $ docker pull rclone/rclone:latest
375              latest: Pulling from rclone/rclone
376              Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
377              ...
378              $ docker run --rm rclone/rclone:latest version
379              rclone v1.49.1
380              - os/arch: linux/amd64
381              - go version: go1.12.9
382
383       There  are  a  few  command  line  options to consider when starting an
384       rclone Docker container from the rclone image.
385
386       • You need to mount the host rclone config dir at  /config/rclone  into
387         the Docker container.  Due to the fact that rclone updates tokens in‐
388         side its config file, and that the update process involves a file re‐
389         name,  you  need  to mount the whole host rclone config dir, not just
390         the single host rclone config file.
391
392       • You need to mount a host data dir at /data into the Docker container.
393
394       • By default, the rclone binary inside a  Docker  container  runs  with
395         UID=0  (root).   As  a  result,  all files created in a run will have
396         UID=0.  If your config and data files  reside  on  the  host  with  a
397         non-root  UID:GID, you need to pass these on the container start com‐
398         mand line.
399
400       • If you want to access the RC interface (either via the API or the Web
401         UI), it is required to set the --rc-addr to :5572 in order to connect
402         to it from outside the container.  An explanation about why  this  is
403         necessary        is        present        here       (https://web.ar
404         chive.org/web/20200808071950/https://pythonspeed.com/articles/docker-
405         connection-refused/).
406
407         • NOTE:  Users  running this container with the docker network set to
408           host should probably set it  to  listen  to  localhost  only,  with
409           127.0.0.1:5572 as the value for --rc-addr
410
411       • It is possible to use rclone mount inside a userspace Docker contain‐
412         er, and expose the resulting fuse mount to the host.  The exact dock‐
413         er  run  options  to do that might vary slightly between hosts.  See,
414         e.g.  the discussion in this thread (https://github.com/moby/moby/is
415         sues/9448).
416
417         You  also  need to mount the host /etc/passwd and /etc/group for fuse
418         to work inside the container.
419
420       Here are some commands tested on an Ubuntu 18.04.3 host:
421
422              # config on host at ~/.config/rclone/rclone.conf
423              # data on host at ~/data
424
425              # make sure the config is ok by listing the remotes
426              docker run --rm \
427                  --volume ~/.config/rclone:/config/rclone \
428                  --volume ~/data:/data:shared \
429                  --user $(id -u):$(id -g) \
430                  rclone/rclone \
431                  listremotes
432
433              # perform mount inside Docker container, expose result to host
434              mkdir -p ~/data/mount
435              docker run --rm \
436                  --volume ~/.config/rclone:/config/rclone \
437                  --volume ~/data:/data:shared \
438                  --user $(id -u):$(id -g) \
439                  --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
440                  --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
441                  rclone/rclone \
442                  mount dropbox:Photos /data/mount &
443              ls ~/data/mount
444              kill %1
445
446   Install from source
447       Make sure you have at least Go (https://golang.org/) go1.14  installed.
448       Download  go (https://golang.org/dl/) if necessary.  The latest release
449       is recommended.  Then
450
451              git clone https://github.com/rclone/rclone.git
452              cd rclone
453              go build
454              # If on macOS and mount is wanted, instead run: make GOTAGS=cmount
455              ./rclone version
456
457       This will leave you a checked out version of rclone you can modify  and
458       send  pull requests with.  If you use make instead of go build then the
459       rclone build will have the correct version information in it.
460
461       You can also build the latest stable rclone with:
462
463              go get github.com/rclone/rclone
464
465       or the latest version (equivalent to the beta) with
466
467              go get github.com/rclone/rclone@master
468
469       These will build the binary in $(go env GOPATH)/bin (~/go/bin/rclone by
470       default)  after  downloading the source to the go module cache.  Note -
471       do not use the -u flag here.  This causes go to try to update  the  de‐
472       pendencies  that  rclone  uses  and sometimes these don't work with the
473       current version of rclone.
474
475   Installation with Ansible
476       This   can   be   done   with   Stefan   Weichinger's   ansible    role
477       (https://github.com/stefangweichinger/ansible-rclone).
478
479       Instructions
480
481       1. git   clone  https://github.com/stefangweichinger/ansible-rclone.git
482          into your local roles-directory
483
484       2. add the role to the hosts you want rclone installed to:
485
486              - hosts: rclone-hosts
487                roles:
488                    - rclone
489
490   Portable installation
491       As mentioned above (https://rclone.org/install/#quickstart), rclone  is
492       single executable (rclone, or rclone.exe on Windows) that you can down‐
493       load as a zip archive and extract into a  location  of  your  choosing.
494       When executing different commands, it may create files in different lo‐
495       cations, such as a configuration file and various temporary files.   By
496       default the locations for these are according to your operating system,
497       e.g.  configuration file in your user profile directory  and  temporary
498       files in the standard temporary directory, but you can customize all of
499       them, e.g.  to make a completely self-contained, portable installation.
500
501       Run the config paths (https://rclone.org/commands/rclone_config_paths/)
502       command to see the locations that rclone will use.
503
504       To  override  them set the corresponding options (as command-line argu‐
505       ments, or as environment  variables  (https://rclone.org/docs/#environ‐
506       ment-variables)):  -  --config (https://rclone.org/docs/#config-config-
507       file)   -   --cache-dir   (https://rclone.org/docs/#cache-dir-dir)    -
508       --temp-dir (https://rclone.org/docs/#temp-dir-dir)
509
510   Autostart
511       After  installing  and  configuring rclone, as described above, you are
512       ready to use rclone as an interactive command line  utility.   If  your
513       goal  is  to  perform  periodic  operations,  such  as  a  regular sync
514       (https://rclone.org/commands/rclone_sync/), you will probably  want  to
515       configure your rclone command in your operating system's scheduler.  If
516       you need to  expose  service-like  features,  such  as  remote  control
517       (https://rclone.org/rc/),    GUI    (https://rclone.org/gui/),    serve
518       (https://rclone.org/commands/rclone_serve/)          or           mount
519       (https://rclone.org/commands/rclone_move/),  you  will  often  want  an
520       rclone command always running in the background, and configuring it  to
521       run in a service infrastructure may be a better option.  Below are some
522       alternatives on how to achieve this on different operating systems.
523
524       NOTE: Before setting up autorun it is highly recommended that you  have
525       tested your command manually from a Command Prompt first.
526
527   Autostart on Windows
528       The  most  relevant alternatives for autostart on Windows are: - Run at
529       user log on using the Startup folder - Run at user log  on,  at  system
530       startup or at schedule using Task Scheduler - Run at system startup us‐
531       ing Windows service
532
533   Running in background
534       Rclone is a console application, so if not starting  from  an  existing
535       Command Prompt, e.g.  when starting rclone.exe from a shortcut, it will
536       open a Command Prompt window.  When configuring rclone to run from task
537       scheduler  and  windows service you are able to set it to run hidden in
538       background.  From rclone version 1.54 you can also make it  run  hidden
539       from anywhere by adding option --no-console (it may still flash briefly
540       when the program starts).  Since rclone normally writes information and
541       any  error messages to the console, you must redirect this to a file to
542       be able to see it.  Rclone has a built-in option --log-file for that.
543
544       Example command to run a sync in background:
545
546              c:\rclone\rclone.exe sync c:\files remote:/files --no-console --log-file c:\rclone\logs\sync_files.txt
547
548   User account
549       As mentioned in  the  mount  (https://rclone.org/commands/rclone_move/)
550       documentation,  mounted drives created as Administrator are not visible
551       to other accounts, not even the account that was elevated  as  Adminis‐
552       trator.   By  running the mount command as the built-in SYSTEM user ac‐
553       count, it will create drives accessible for  everyone  on  the  system.
554       Both scheduled task and Windows service can be used to achieve this.
555
556       NOTE:  Remember that when rclone runs as the SYSTEM user, the user pro‐
557       file that it sees will not be yours.  This means that if  you  normally
558       run  rclone with configuration file in the default location, to be able
559       to use the same configuration when running as the system user you  must
560       explicitely   tell   rclone   where   to  find  it  with  the  --config
561       (https://rclone.org/docs/#config-config-file) option, or else  it  will
562       look  in the system users profile path (C:\Windows\System32\config\sys‐
563       temprofile).  To test your command manually from a Command Prompt,  you
564       can  run it with the PsExec (https://docs.microsoft.com/en-us/sysinter
565       nals/downloads/psexec) utility  from  Microsoft's  Sysinternals  suite,
566       which takes option -s to execute commands as the SYSTEM user.
567
568   Start from Startup folder
569       To  quickly  execute an rclone command you can simply create a standard
570       Windows Explorer shortcut for the complete rclone command you  want  to
571       run.   If  you  store this shortcut in the special "Startup" start-menu
572       folder, Windows will automatically run it at login.  To open this fold‐
573       er  in  Windows  Explorer, enter path %APPDATA%\Microsoft\Windows\Start
574       Menu\Programs\Startup,    or     C:\ProgramData\Microsoft\Windows\Start
575       Menu\Programs\StartUp  if  you want the command to start for every user
576       that logs in.
577
578       This is the easiest approach to autostarting of rclone, but  it  offers
579       no  functionality  to set it to run as different user, or to set condi‐
580       tions or actions on certain events.  Setting up a scheduled task as de‐
581       scribed below will often give you better results.
582
583   Start from Task Scheduler
584       Task Scheduler is an administrative tool built into Windows, and it can
585       be used to configure rclone to be started  automatically  in  a  highly
586       configurable  way, e.g.  periodically on a schedule, on user log on, or
587       at system startup.  It can run be configured to run as the current  us‐
588       er,  or  for a mount command that needs to be available to all users it
589       can  run  as  the  SYSTEM  user.   For   technical   information,   see
590       https://docs.microsoft.com/windows/win32/taskschd/task-sched
591       uler-start-page.
592
593   Run as service
594       For running rclone at system startup, you can create a Windows  service
595       that  executes your rclone command, as an alternative to scheduled task
596       configured to run at startup.
597
598   Mount command built-in service integration
599       For mount commands, Rclone has a built-in Windows  service  integration
600       via  the  third party WinFsp library it uses.  Registering as a regular
601       Windows service easy, as you just have to execute the  built-in  Power‐
602       Shell command New-Service (requires administrative privileges).
603
604       Example  of  a  PowerShell  command  that creates a Windows service for
605       mounting some remote:/files as drive letter X:, for all users  (service
606       will be running as the local system account):
607
608              New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'
609
610       The WinFsp service infrastructure (https://github.com/billziss-gh/winf
611       sp/wiki/WinFsp-Service-Architecture)  supports  incorporating  services
612       for  file system implementations, such as rclone, into its own launcher
613       service, as kind of "child services".  This has the  additional  advan‐
614       tage  that  it  also implements a network provider that integrates into
615       Windows standard methods for managing network drives.  This is current‐
616       ly  not  officially supported by Rclone, but with WinFsp version 2019.3
617       B2 / v1.5B2 or later it should be possible through  path  rewriting  as
618       described here (https://github.com/rclone/rclone/issues/3340).
619
620   Third party service integration
621       To Windows service running any rclone command, the excellent third par‐
622       ty utility NSSM (http://nssm.cc), the  "Non-Sucking  Service  Manager",
623       can  be  used.   It  includes  some advanced features such as adjusting
624       process periority, defining process environment variables, redirect  to
625       file  anything  written to stdout, and customized response to different
626       exit codes, with a GUI to configure everything from  (although  it  can
627       also be used from command line ).
628
629       There  are also several other alternatives.  To mention one more, WinSW
630       (https://github.com/winsw/winsw), "Windows Service Wrapper",  is  worth
631       checking  out.   It  requires .NET Framework, but it is preinstalled on
632       newer versions of Windows, and it also provides alternative  standalone
633       distributions  which  includes  necessary runtime (.NET 5).  WinSW is a
634       command-line only utility, where you have to  manually  create  an  XML
635       file  with service configuration.  This may be a drawback for some, but
636       it can also be an advantage as it is easy to back  up  and  re-use  the
637       configuration  settings,  without  having  go through manual steps in a
638       GUI.  One thing to note is that by default it does not restart the ser‐
639       vice  on  error,  one have to explicit enable this in the configuration
640       file (via the "onfailure" parameter).
641
642   Autostart on Linux
643   Start as a service
644       To always run rclone in background, relevant for  mount  commands  etc,
645       you can use systemd to set up rclone as a system or user service.  Run‐
646       ning as a system service ensures that it is run at startup even if  the
647       user  it is running as has no active session.  Running rclone as a user
648       service ensures that it only  starts  after  the  configured  user  has
649       logged into the system.
650
651   Run periodically from cron
652       To  run  a periodic command, such as a copy/sync, you can set up a cron
653       job.
654

Usage

656       Rclone is a command line program to manage files on cloud storage.  Af‐
657       ter  download  (https://rclone.org/downloads/)  and install (/install),
658       continue here to learn how to use it: Initial configuration,  what  the
659       basic syntax looks like, describes the various subcommands, the various
660       options, and more.
661
662   Configure
663       First, you'll need to configure rclone.  As the object storage  systems
664       have  quite complicated authentication these are kept in a config file.
665       (See the --config entry for how to find the config file and choose  its
666       location.)
667
668       The easiest way to make the config is to run rclone with the config op‐
669       tion:
670
671              rclone config
672
673       See the following for detailed instructions for
674
675       • 1Fichier (https://rclone.org/fichier/)
676
677       • Alias (https://rclone.org/alias/)
678
679       • Amazon Drive (https://rclone.org/amazonclouddrive/)
680
681       • Amazon S3 (https://rclone.org/s3/)
682
683       • Backblaze B2 (https://rclone.org/b2/)
684
685       • Box (https://rclone.org/box/)
686
687       • Chunker (https://rclone.org/chunker/) -  transparently  splits  large
688         files for other remotes
689
690       • Citrix ShareFile (https://rclone.org/sharefile/)
691
692       • Compress (https://rclone.org/compress/)
693
694       • Crypt (https://rclone.org/crypt/) - to encrypt other remotes
695
696       • DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces)
697
698       • Dropbox (https://rclone.org/dropbox/)
699
700       • Enterprise File Fabric (https://rclone.org/filefabric/)
701
702       • FTP (https://rclone.org/ftp/)
703
704       • Google Cloud Storage (https://rclone.org/googlecloudstorage/)
705
706       • Google Drive (https://rclone.org/drive/)
707
708       • Google Photos (https://rclone.org/googlephotos/)
709
710       • Hasher  (https://rclone.org/hasher/)  - to handle checksums for other
711         remotes
712
713       • HDFS (https://rclone.org/hdfs/)
714
715       • HTTP (https://rclone.org/http/)
716
717       • Hubic (https://rclone.org/hubic/)
718
719       • Jottacloud (https://rclone.org/jottacloud/)
720
721       • Koofr (https://rclone.org/koofr/)
722
723       • Mail.ru Cloud (https://rclone.org/mailru/)
724
725       • Mega (https://rclone.org/mega/)
726
727       • Memory (https://rclone.org/memory/)
728
729       • Microsoft Azure Blob Storage (https://rclone.org/azureblob/)
730
731       • Microsoft OneDrive (https://rclone.org/onedrive/)
732
733       • OpenStack  Swift   /   Rackspace   Cloudfiles   /   Memset   Memstore
734         (https://rclone.org/swift/)
735
736       • OpenDrive (https://rclone.org/opendrive/)
737
738       • Pcloud (https://rclone.org/pcloud/)
739
740       • premiumize.me (https://rclone.org/premiumizeme/)
741
742       • put.io (https://rclone.org/putio/)
743
744       • QingStor (https://rclone.org/qingstor/)
745
746       • Seafile (https://rclone.org/seafile/)
747
748       • SFTP (https://rclone.org/sftp/)
749
750       • Sia (https://rclone.org/sia/)
751
752       • SugarSync (https://rclone.org/sugarsync/)
753
754       • Tardigrade (https://rclone.org/tardigrade/)
755
756       • Union (https://rclone.org/union/)
757
758       • Uptobox (https://rclone.org/uptobox/)
759
760       • WebDAV (https://rclone.org/webdav/)
761
762       • Yandex Disk (https://rclone.org/yandex/)
763
764       • Zoho WorkDrive (https://rclone.org/zoho/)
765
766       • The local filesystem (https://rclone.org/local/)
767
768   Basic syntax
769       Rclone syncs a directory tree from one storage system to another.
770
771       Its syntax is like this
772
773              Syntax: [options] subcommand <parameters> <parameters...>
774
775       Source  and  destination  paths  are specified by the name you gave the
776       storage system in the config file then the sub path,  e.g.   "drive:my‐
777       folder" to look at "myfolder" in Google drive.
778
779       You can define as many storage paths as you like in the config file.
780
781       Please  use  the -i / --interactive flag while learning rclone to avoid
782       accidental data loss.
783
784   Subcommands
785       rclone uses a system of subcommands.  For example
786
787              rclone ls remote:path # lists a remote
788              rclone copy /local/path remote:path # copies /local/path to the remote
789              rclone sync -i /local/path remote:path # syncs /local/path to the remote
790

rclone config

792       Enter an interactive configuration session.
793
794   Synopsis
795       Enter an interactive configuration session where you can setup new  re‐
796       motes  and manage existing ones.  You may also set or remove a password
797       to protect your configuration.
798
799              rclone config [flags]
800
801   Options
802                -h, --help   help for config
803
804       See the global flags page (https://rclone.org/flags/)  for  global  op‐
805       tions not listed here.
806
807   SEE ALSO
808       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
809         commands, flags and backends.
810
811       • rclone config create  (https://rclone.org/commands/rclone_config_cre
812         ate/) - Create a new remote with name, type and options.
813
814       • rclone    config    delete   (https://rclone.org/commands/rclone_con
815         fig_delete/) - Delete an existing remote.
816
817       • rclone  config  disconnect   (https://rclone.org/commands/rclone_con
818         fig_disconnect/) - Disconnects user from remote
819
820       • rclone  config dump (https://rclone.org/commands/rclone_config_dump/)
821         - Dump the config file as JSON.
822
823       • rclone config file  (https://rclone.org/commands/rclone_config_file/)
824         - Show path of configuration file in use.
825
826       • rclone   config   password   (https://rclone.org/commands/rclone_con
827         fig_password/) - Update password in an existing remote.
828
829       • rclone    config    paths    (https://rclone.org/commands/rclone_con
830         fig_paths/) - Show paths used for configuration, cache, temp etc.
831
832       • rclone   config   providers  (https://rclone.org/commands/rclone_con
833         fig_providers/) - List in JSON format all the providers and options.
834
835       • rclone  config   reconnect   (https://rclone.org/commands/rclone_con
836         fig_reconnect/) - Re-authenticates user with remote.
837
838       • rclone  config show (https://rclone.org/commands/rclone_config_show/)
839         - Print (decrypted) config file, or the config for a single remote.
840
841       • rclone    config    touch    (https://rclone.org/commands/rclone_con
842         fig_touch/) - Ensure configuration file exists.
843
844       • rclone  config  update (https://rclone.org/commands/rclone_config_up
845         date/) - Update options in an existing remote.
846
847       • rclone   config   userinfo   (https://rclone.org/commands/rclone_con
848         fig_userinfo/) - Prints info about logged in user of remote.
849

rclone copy

851       Copy files from source to dest, skipping identical files.
852
853   Synopsis
854       Copy  the  source to the destination.  Does not transfer files that are
855       identical on source and destination, testing by size  and  modification
856       time or MD5SUM.  Doesn't delete files from the destination.
857
858       Note  that  it  is always the contents of the directory that is synced,
859       not the directory so when source:path is a directory, it's the contents
860       of source:path that are copied, not the directory name and contents.
861
862       If  dest:path doesn't exist, it is created and the source:path contents
863       go there.
864
865       For example
866
867              rclone copy source:sourcepath dest:destpath
868
869       Let's say there are two files in sourcepath
870
871              sourcepath/one.txt
872              sourcepath/two.txt
873
874       This copies them to
875
876              destpath/one.txt
877              destpath/two.txt
878
879       Not to
880
881              destpath/sourcepath/one.txt
882              destpath/sourcepath/two.txt
883
884       If you are familiar with rsync, rclone always works as if you had writ‐
885       ten a trailing / - meaning "copy the contents of this directory".  This
886       applies to all commands and whether you are talking about the source or
887       destination.
888
889       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
890       controlling whether rclone lists  the  destination  directory  or  not.
891       Supplying this option when copying a small number of files into a large
892       destination can speed transfers up greatly.
893
894       For example, if you have many files in /path/to/src but only a  few  of
895       them  change  every  day, you can copy all the files which have changed
896       recently very efficiently like this:
897
898              rclone copy --max-age 24h --no-traverse /path/to/src remote:
899
900       Note: Use the -P/--progress flag to view real-time transfer statistics.
901
902       Note: Use the --dry-run or the --interactive/-i flag  to  test  without
903       copying anything.
904
905              rclone copy source:path dest:path [flags]
906
907   Options
908                    --create-empty-src-dirs   Create empty source dirs on destination after copy
909                -h, --help                    help for copy
910
911       See  the  global  flags page (https://rclone.org/flags/) for global op‐
912       tions not listed here.
913
914   SEE ALSO
915       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
916         commands, flags and backends.
917

rclone sync

919       Make source and dest identical, modifying destination only.
920
921   Synopsis
922       Sync  the  source  to  the  destination, changing the destination only.
923       Doesn't transfer files that are identical on  source  and  destination,
924       testing by size and modification time or MD5SUM.  Destination is updat‐
925       ed to match source, including deleting files if necessary  (except  du‐
926       plicate objects, see below).
927
928       Important:  Since  this  can  cause  data  loss,  test  first  with the
929       --dry-run or the --interactive/-i flag.
930
931              rclone sync -i SOURCE remote:DESTINATION
932
933       Note that files in the destination won't be deleted if there  were  any
934       errors  at  any point.  Duplicate objects (files with the same name, on
935       those providers that support it) are also not yet handled.
936
937       It is always the contents of the directory that is synced, not the  di‐
938       rectory  so  when  source:path  is  a  directory,  it's the contents of
939       source:path that are copied, not the directory name and contents.   See
940       extended explanation in the copy command above if unsure.
941
942       If  dest:path doesn't exist, it is created and the source:path contents
943       go there.
944
945       Note: Use the -P/--progress flag to view real-time transfer statistics
946
947       Note: Use the rclone dedupe command to deal with "Duplicate  object/di‐
948       rectory found in source/destination - ignoring" errors.  See this forum
949       post    (https://forum.rclone.org/t/sync-not-clearing-duplicates/14372)
950       for more info.
951
952              rclone sync source:path dest:path [flags]
953
954   Options
955                    --create-empty-src-dirs   Create empty source dirs on destination after sync
956                -h, --help                    help for sync
957
958       See  the  global  flags page (https://rclone.org/flags/) for global op‐
959       tions not listed here.
960
961   SEE ALSO
962       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
963         commands, flags and backends.
964

rclone move

966       Move files from source to dest.
967
968   Synopsis
969       Moves  the contents of the source directory to the destination directo‐
970       ry.  Rclone will error if the source and destination  overlap  and  the
971       remote does not support a server-side directory move operation.
972
973       If  no  filters  are  in use and if possible this will server-side move
974       source:path into dest:path.  After this source:path will no longer  ex‐
975       ist.
976
977       Otherwise for each file in source:path selected by the filters (if any)
978       this will move it into dest:path.  If possible a server-side move  will
979       be  used,  otherwise  it  will  copy  it (server-side if possible) into
980       dest:path  then  delete  the  original  (if  no  errors  on  copy)   in
981       source:path.
982
983       If  you  want  to  delete  empty source directories after move, use the
984       --delete-empty-src-dirs flag.
985
986       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
987       controlling  whether  rclone  lists  the  destination directory or not.
988       Supplying this option when moving a small number of files into a  large
989       destination can speed transfers up greatly.
990
991       Important:  Since  this  can  cause  data  loss,  test  first  with the
992       --dry-run or the --interactive/-i flag.
993
994       Note: Use the -P/--progress flag to view real-time transfer statistics.
995
996              rclone move source:path dest:path [flags]
997
998   Options
999                    --create-empty-src-dirs   Create empty source dirs on destination after move
1000                    --delete-empty-src-dirs   Delete empty source dirs after move
1001                -h, --help                    help for move
1002
1003       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1004       tions not listed here.
1005
1006   SEE ALSO
1007       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1008         commands, flags and backends.
1009

rclone delete

1011       Remove the files in path.
1012
1013   Synopsis
1014       Remove the files in path.  Unlike purge it obeys  include/exclude  fil‐
1015       ters so can be used to selectively delete files.
1016
1017       rclone  delete  only  deletes  files but leaves the directory structure
1018       alone.  If you want to delete a directory and all of its  contents  use
1019       the purge command.
1020
1021       If  you  supply the --rmdirs flag, it will remove all empty directories
1022       along with it.  You can also use the separate command rmdir  or  rmdirs
1023       to delete empty directories only.
1024
1025       For  example,  to  delete  all files bigger than 100 MiB, you may first
1026       want to check what would be deleted (use either):
1027
1028              rclone --min-size 100M lsl remote:path
1029              rclone --dry-run --min-size 100M delete remote:path
1030
1031       Then proceed with the actual delete:
1032
1033              rclone --min-size 100M delete remote:path
1034
1035       That reads "delete everything with a minimum size of  100  MiB",  hence
1036       delete all files bigger than 100 MiB.
1037
1038       Important:  Since  this  can  cause  data  loss,  test  first  with the
1039       --dry-run or the --interactive/-i flag.
1040
1041              rclone delete remote:path [flags]
1042
1043   Options
1044                -h, --help     help for delete
1045                    --rmdirs   rmdirs removes empty directories but leaves root intact
1046
1047       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1048       tions not listed here.
1049
1050   SEE ALSO
1051       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1052         commands, flags and backends.
1053

rclone purge

1055       Remove the path and all of its contents.
1056
1057   Synopsis
1058       Remove the path and all of its contents.  Note that this does not  obey
1059       include/exclude  filters  - everything will be removed.  Use the delete
1060       command if you want to selectively delete files.  To delete  empty  di‐
1061       rectories only, use command rmdir or rmdirs.
1062
1063       Important:  Since  this  can  cause  data  loss,  test  first  with the
1064       --dry-run or the --interactive/-i flag.
1065
1066              rclone purge remote:path [flags]
1067
1068   Options
1069                -h, --help   help for purge
1070
1071       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1072       tions not listed here.
1073
1074   SEE ALSO
1075       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1076         commands, flags and backends.
1077

rclone mkdir

1079       Make the path if it doesn't already exist.
1080
1081              rclone mkdir remote:path [flags]
1082
1083   Options
1084                -h, --help   help for mkdir
1085
1086       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1087       tions not listed here.
1088
1089   SEE ALSO
1090       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1091         commands, flags and backends.
1092

rclone rmdir

1094       Remove the empty directory at path.
1095
1096   Synopsis
1097       This removes empty directory given by path.  Will not remove  the  path
1098       if  it  has any objects in it, not even empty subdirectories.  Use com‐
1099       mand rmdirs (or delete with option --rmdirs) to do that.
1100
1101       To delete a path and any objects in it, use purge command.
1102
1103              rclone rmdir remote:path [flags]
1104
1105   Options
1106                -h, --help   help for rmdir
1107
1108       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1109       tions not listed here.
1110
1111   SEE ALSO
1112       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1113         commands, flags and backends.
1114

rclone check

1116       Checks the files in the source and destination match.
1117
1118   Synopsis
1119       Checks the files in the source  and  destination  match.   It  compares
1120       sizes  and  hashes (MD5 or SHA1) and logs a report of files which don't
1121       match.  It doesn't alter the source or destination.
1122
1123       If you supply the --size-only flag, it will only compare the sizes  not
1124       the hashes as well.  Use this for a quick check.
1125
1126       If  you supply the --download flag, it will download the data from both
1127       remotes and check them against each other on the fly.  This can be use‐
1128       ful  for  remotes  that  don't  support hashes or if you really want to
1129       check all the data.
1130
1131       If you supply the --checkfile HASH flag with a  valid  hash  name,  the
1132       source:path must point to a text file in the SUM format.
1133
1134       If  you supply the --one-way flag, it will only check that files in the
1135       source match the files in the destination, not the  other  way  around.
1136       This  means  that  extra  files  in the destination that are not in the
1137       source will not be detected.
1138
1139       The --differ, --missing-on-dst, --missing-on-src, --match  and  --error
1140       flags  write  paths, one per line, to the file name (or stdout if it is
1141       -) supplied.  What they write is described in the help below.  For  ex‐
1142       ample  --differ  will  write  all  paths  which are present on both the
1143       source and destination but different.
1144
1145       The --combined flag will write a file (or stdout)  which  contains  all
1146       file paths with a symbol and then a space and then the path to tell you
1147       what happened to it.  These are reminiscent of diff files.
1148
1149       • = path means path was found in source and destination and was identi‐
1150         cal
1151
1152       • -  path means path was missing on the source, so only in the destina‐
1153         tion
1154
1155       • + path means path was missing on the  destination,  so  only  in  the
1156         source
1157
1158       • *  path  means path was present in source and destination but differ‐
1159         ent.
1160
1161       • ! path means there was an error reading  or  hashing  the  source  or
1162         dest.
1163
1164         rclone check source:path dest:path [flags]
1165
1166   Options
1167                -C, --checkfile string        Treat source:path as a SUM file with hashes of given type
1168                    --combined string         Make a combined report of changes to this file
1169                    --differ string           Report all non-matching files to this file
1170                    --download                Check by downloading rather than with hash
1171                    --error string            Report all files with errors (hashing or reading) to this file
1172                -h, --help                    help for check
1173                    --match string            Report all matching files to this file
1174                    --missing-on-dst string   Report all files missing from the destination to this file
1175                    --missing-on-src string   Report all files missing from the source to this file
1176                    --one-way                 Check one way only, source files must exist on remote
1177
1178       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1179       tions not listed here.
1180
1181   SEE ALSO
1182       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1183         commands, flags and backends.
1184

rclone ls

1186       List the objects in the path with size and path.
1187
1188   Synopsis
1189       Lists  the  objects  in  the  source path to standard output in a human
1190       readable format with size and path.  Recurses by default.
1191
1192       Eg
1193
1194              $ rclone ls swift:bucket
1195                  60295 bevajer5jef
1196                  90613 canole
1197                  94467 diwogej7
1198                  37600 fubuwic
1199
1200       Any of the filtering options can be applied to this command.
1201
1202       There are several related list commands
1203
1204       • ls to list size and path of objects only
1205
1206       • lsl to list modification time, size and path of objects only
1207
1208       • lsd to list directories only
1209
1210       • lsf to list objects and directories in easy to parse format
1211
1212       • lsjson to list objects and directories in JSON format
1213
1214       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1215       human and machine readable.  lsjson is designed to be machine readable.
1216
1217       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1218       recursion.
1219
1220       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1221       -R to make them recurse.
1222
1223       Listing  a  non existent directory will produce an error except for re‐
1224       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1225       bucket based remotes).
1226
1227              rclone ls remote:path [flags]
1228
1229   Options
1230                -h, --help   help for ls
1231
1232       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1233       tions not listed here.
1234
1235   SEE ALSO
1236       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1237         commands, flags and backends.
1238

rclone lsd

1240       List all directories/containers/buckets in the path.
1241
1242   Synopsis
1243       Lists  the directories in the source path to standard output.  Does not
1244       recurse by default.  Use the -R flag to recurse.
1245
1246       This command lists the total size of the directory  (if  known,  -1  if
1247       not),  the  modification  time (if known, the current time if not), the
1248       number of objects in the directory (if known, -1 if not) and  the  name
1249       of the directory, Eg
1250
1251              $ rclone lsd swift:
1252                    494000 2018-04-26 08:43:20     10000 10000files
1253                        65 2018-04-26 08:43:20         1 1File
1254
1255       Or
1256
1257              $ rclone lsd drive:test
1258                        -1 2016-10-17 17:41:53        -1 1000files
1259                        -1 2017-01-03 14:40:54        -1 2500files
1260                        -1 2017-07-08 14:39:28        -1 4000files
1261
1262       If you just want the directory names use "rclone lsf --dirs-only".
1263
1264       Any of the filtering options can be applied to this command.
1265
1266       There are several related list commands
1267
1268       • ls to list size and path of objects only
1269
1270       • lsl to list modification time, size and path of objects only
1271
1272       • lsd to list directories only
1273
1274       • lsf to list objects and directories in easy to parse format
1275
1276       • lsjson to list objects and directories in JSON format
1277
1278       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
1279       human and machine readable.  lsjson is designed to be machine readable.
1280
1281       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1282       recursion.
1283
1284       The  other list commands lsd,lsf,lsjson do not recurse by default - use
1285       -R to make them recurse.
1286
1287       Listing a non existent directory will produce an error except  for  re‐
1288       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1289       bucket based remotes).
1290
1291              rclone lsd remote:path [flags]
1292
1293   Options
1294                -h, --help        help for lsd
1295                -R, --recursive   Recurse into the listing
1296
1297       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1298       tions not listed here.
1299
1300   SEE ALSO
1301       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1302         commands, flags and backends.
1303

rclone lsl

1305       List the objects in path with modification time, size and path.
1306
1307   Synopsis
1308       Lists the objects in the source path to  standard  output  in  a  human
1309       readable format with modification time, size and path.  Recurses by de‐
1310       fault.
1311
1312       Eg
1313
1314              $ rclone lsl swift:bucket
1315                  60295 2016-06-25 18:55:41.062626927 bevajer5jef
1316                  90613 2016-06-25 18:55:43.302607074 canole
1317                  94467 2016-06-25 18:55:43.046609333 diwogej7
1318                  37600 2016-06-25 18:55:40.814629136 fubuwic
1319
1320       Any of the filtering options can be applied to this command.
1321
1322       There are several related list commands
1323
1324       • ls to list size and path of objects only
1325
1326       • lsl to list modification time, size and path of objects only
1327
1328       • lsd to list directories only
1329
1330       • lsf to list objects and directories in easy to parse format
1331
1332       • lsjson to list objects and directories in JSON format
1333
1334       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1335       human and machine readable.  lsjson is designed to be machine readable.
1336
1337       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1338       recursion.
1339
1340       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1341       -R to make them recurse.
1342
1343       Listing  a  non existent directory will produce an error except for re‐
1344       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1345       bucket based remotes).
1346
1347              rclone lsl remote:path [flags]
1348
1349   Options
1350                -h, --help   help for lsl
1351
1352       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1353       tions not listed here.
1354
1355   SEE ALSO
1356       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1357         commands, flags and backends.
1358

rclone md5sum

1360       Produces an md5sum file for all the objects in the path.
1361
1362   Synopsis
1363       Produces  an  md5sum  file for all the objects in the path.  This is in
1364       the same format as the standard md5sum tool produces.
1365
1366       By default, the hash is requested from the remote.  If MD5 is not  sup‐
1367       ported  by  the  remote,  no  hash will be returned.  With the download
1368       flag, the file will be downloaded from the remote  and  hashed  locally
1369       enabling MD5 for any remote.
1370
1371              rclone md5sum remote:path [flags]
1372
1373   Options
1374                    --base64               Output base64 encoded hashsum
1375                -C, --checkfile string     Validate hashes against a given SUM file instead of printing them
1376                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1377                -h, --help                 help for md5sum
1378                    --output-file string   Output hashsums to a file rather than the terminal
1379
1380       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1381       tions not listed here.
1382
1383   SEE ALSO
1384       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1385         commands, flags and backends.
1386

rclone sha1sum

1388       Produces an sha1sum file for all the objects in the path.
1389
1390   Synopsis
1391       Produces  an  sha1sum file for all the objects in the path.  This is in
1392       the same format as the standard sha1sum tool produces.
1393
1394       By default, the hash is requested from the remote.   If  SHA-1  is  not
1395       supported  by  the remote, no hash will be returned.  With the download
1396       flag, the file will be downloaded from the remote  and  hashed  locally
1397       enabling SHA-1 for any remote.
1398
1399              rclone sha1sum remote:path [flags]
1400
1401   Options
1402                    --base64               Output base64 encoded hashsum
1403                -C, --checkfile string     Validate hashes against a given SUM file instead of printing them
1404                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1405                -h, --help                 help for sha1sum
1406                    --output-file string   Output hashsums to a file rather than the terminal
1407
1408       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1409       tions not listed here.
1410
1411   SEE ALSO
1412       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1413         commands, flags and backends.
1414

rclone size

1416       Prints the total size and number of objects in remote:path.
1417
1418              rclone size remote:path [flags]
1419
1420   Options
1421                -h, --help   help for size
1422                    --json   Format output as JSON
1423
1424       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1425       tions not listed here.
1426
1427   SEE ALSO
1428       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1429         commands, flags and backends.
1430

rclone version

1432       Show the version number.
1433
1434   Synopsis
1435       Show the rclone version number, the go version, the build target OS and
1436       architecture, the runtime OS and kernel version and bitness, build tags
1437       and the type of executable (static or dynamic).
1438
1439       For example:
1440
1441              $ rclone version
1442              rclone v1.55.0
1443              - os/version: ubuntu 18.04 (64 bit)
1444              - os/kernel: 4.15.0-136-generic (x86_64)
1445              - os/type: linux
1446              - os/arch: amd64
1447              - go/version: go1.16
1448              - go/linking: static
1449              - go/tags: none
1450
1451       Note:  before  rclone  version  1.55 the os/type and os/arch lines were
1452       merged, and the "go/version" line was tagged as "go version".
1453
1454       If you supply the --check flag, then it will do an online check to com‐
1455       pare your version with the latest release and the latest beta.
1456
1457              $ rclone version --check
1458              yours:  1.42.0.6
1459              latest: 1.42          (released 2018-06-16)
1460              beta:   1.42.0.5      (released 2018-06-17)
1461
1462       Or
1463
1464              $ rclone version --check
1465              yours:  1.41
1466              latest: 1.42          (released 2018-06-16)
1467                upgrade: https://downloads.rclone.org/v1.42
1468              beta:   1.42.0.5      (released 2018-06-17)
1469                upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
1470
1471              rclone version [flags]
1472
1473   Options
1474                    --check   Check for new version
1475                -h, --help    help for version
1476
1477       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1478       tions not listed here.
1479
1480   SEE ALSO
1481       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1482         commands, flags and backends.
1483

rclone cleanup

1485       Clean up the remote if possible.
1486
1487   Synopsis
1488       Clean  up  the  remote if possible.  Empty the trash or delete old file
1489       versions.  Not supported by all remotes.
1490
1491              rclone cleanup remote:path [flags]
1492
1493   Options
1494                -h, --help   help for cleanup
1495
1496       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1497       tions not listed here.
1498
1499   SEE ALSO
1500       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1501         commands, flags and backends.
1502

rclone dedupe

1504       Interactively find duplicate filenames and delete/rename them.
1505
1506   Synopsis
1507       By default dedupe interactively finds files with  duplicate  names  and
1508       offers  to  delete all but one or rename them to be different.  This is
1509       known as deduping by name.
1510
1511       Deduping by name is only useful with a small group  of  backends  (e.g.
1512       Google Drive, Opendrive) that can have duplicate file names.  It can be
1513       run on wrapping backends (e.g.  crypt) if they  wrap  a  backend  which
1514       supports duplicate file names.
1515
1516       However  if --by-hash is passed in then dedupe will find files with du‐
1517       plicate hashes instead which will work on any backend which supports at
1518       least one hash.  This can be used to find files with duplicate content.
1519       This is known as deduping by hash.
1520
1521       If deduping by name, first rclone will merge directories with the  same
1522       name.   It will do this iteratively until all the identically named di‐
1523       rectories have been merged.
1524
1525       Next, if deduping by name, for every group of duplicate  file  names  /
1526       hashes,  it  will  delete  all but one identical files it finds without
1527       confirmation.  This means that for most  duplicated  files  the  dedupe
1528       command will not be interactive.
1529
1530       dedupe  considers files to be identical if they have the same file path
1531       and the same hash.  If the backend does not support hashes (e.g.  crypt
1532       wrapping  Google  Drive) then they will never be found to be identical.
1533       If you use the --size-only flag then files will be considered identical
1534       if  they  have  the  same size (any hash will be ignored).  This can be
1535       useful on crypt backends which do not support hashes.
1536
1537       Next rclone will resolve the remaining duplicates.  Exactly  which  ac‐
1538       tion  is  taken depends on the dedupe mode.  By default rclone will in‐
1539       teractively query the user for each one.
1540
1541       Important: Since  this  can  cause  data  loss,  test  first  with  the
1542       --dry-run or the --interactive/-i flag.
1543
1544       Here is an example run.
1545
1546       Before - with duplicates
1547
1548              $ rclone lsl drive:dupes
1549                6048320 2016-03-05 16:23:16.798000000 one.txt
1550                6048320 2016-03-05 16:23:11.775000000 one.txt
1551                 564374 2016-03-05 16:23:06.731000000 one.txt
1552                6048320 2016-03-05 16:18:26.092000000 one.txt
1553                6048320 2016-03-05 16:22:46.185000000 two.txt
1554                1744073 2016-03-05 16:22:38.104000000 two.txt
1555                 564374 2016-03-05 16:22:52.118000000 two.txt
1556
1557       Now the dedupe session
1558
1559              $ rclone dedupe drive:dupes
1560              2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
1561              one.txt: Found 4 files with duplicate names
1562              one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36")
1563              one.txt: 2 duplicates remain
1564                1:      6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1565                2:       564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1566              s) Skip and do nothing
1567              k) Keep just one (choose which in next step)
1568              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1569              s/k/r> k
1570              Enter the number of the file to keep> 1
1571              one.txt: Deleted 1 extra copies
1572              two.txt: Found 3 files with duplicate names
1573              two.txt: 3 duplicates remain
1574                1:       564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1575                2:      6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1576                3:      1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802
1577              s) Skip and do nothing
1578              k) Keep just one (choose which in next step)
1579              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1580              s/k/r> r
1581              two-1.txt: renamed from: two.txt
1582              two-2.txt: renamed from: two.txt
1583              two-3.txt: renamed from: two.txt
1584
1585       The result being
1586
1587              $ rclone lsl drive:dupes
1588                6048320 2016-03-05 16:23:16.798000000 one.txt
1589                 564374 2016-03-05 16:22:52.118000000 two-1.txt
1590                6048320 2016-03-05 16:22:46.185000000 two-2.txt
1591                1744073 2016-03-05 16:22:38.104000000 two-3.txt
1592
1593       Dedupe  can be run non interactively using the --dedupe-mode flag or by
1594       using an extra parameter with the same value
1595
1596       • --dedupe-mode interactive - interactive as above.
1597
1598       • --dedupe-mode skip - removes  identical  files  then  skips  anything
1599         left.
1600
1601       • --dedupe-mode  first  -  removes identical files then keeps the first
1602         one.
1603
1604       • --dedupe-mode newest - removes identical files then keeps the  newest
1605         one.
1606
1607       • --dedupe-mode  oldest - removes identical files then keeps the oldest
1608         one.
1609
1610       • --dedupe-mode largest  -  removes  identical  files  then  keeps  the
1611         largest one.
1612
1613       • --dedupe-mode  smallest  -  removes  identical  files  then keeps the
1614         smallest one.
1615
1616       • --dedupe-mode rename - removes identical files then renames the  rest
1617         to be different.
1618
1619       • --dedupe-mode  list - lists duplicate dirs and files only and changes
1620         nothing.
1621
1622       For example to rename all the identically named photos in  your  Google
1623       Photos directory, do
1624
1625              rclone dedupe --dedupe-mode rename "drive:Google Photos"
1626
1627       Or
1628
1629              rclone dedupe rename "drive:Google Photos"
1630
1631              rclone dedupe [mode] remote:path [flags]
1632
1633   Options
1634                    --by-hash              Find indentical hashes rather than names
1635                    --dedupe-mode string   Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename (default "interactive")
1636                -h, --help                 help for dedupe
1637
1638       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1639       tions not listed here.
1640
1641   SEE ALSO
1642       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1643         commands, flags and backends.
1644

rclone about

1646       Get quota information from the remote.
1647
1648   Synopsis
1649       rclone  about  prints quota information about a remote to standard out‐
1650       put.  The output is typically used, free, quota and trash contents.
1651
1652       E.g.  Typical output from rclone about remote: is:
1653
1654              Total:   17 GiB
1655              Used:    7.444 GiB
1656              Free:    1.315 GiB
1657              Trashed: 100.000 MiB
1658              Other:   8.241 GiB
1659
1660       Where the fields are:
1661
1662       • Total: Total size available.
1663
1664       • Used: Total size used.
1665
1666       • Free: Total space available to this user.
1667
1668       • Trashed: Total space used by trash.
1669
1670       • Other: Total amount in other storage (e.g.  Gmail, Google Photos).
1671
1672       • Objects: Total number of objects in the storage.
1673
1674       All sizes are in number of bytes.
1675
1676       Applying a --full flag to the command prints the bytes in full, e.g.
1677
1678              Total:   18253611008
1679              Used:    7993453766
1680              Free:    1411001220
1681              Trashed: 104857602
1682              Other:   8849156022
1683
1684       A --json flag generates conveniently computer readable output, e.g.
1685
1686              {
1687                  "total": 18253611008,
1688                  "used": 7993453766,
1689                  "trashed": 104857602,
1690                  "other": 8849156022,
1691                  "free": 1411001220
1692              }
1693
1694       Not all backends print all fields.  Information is not included  if  it
1695       is not provided by a backend.  Where the value is unlimited it is omit‐
1696       ted.
1697
1698       Some backends does not support the rclone about  command  at  all,  see
1699       complete  list in documentation (https://rclone.org/overview/#optional-
1700       features).
1701
1702              rclone about remote: [flags]
1703
1704   Options
1705                    --full   Full numbers instead of human-readable
1706                -h, --help   help for about
1707                    --json   Format output as JSON
1708
1709       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1710       tions not listed here.
1711
1712   SEE ALSO
1713       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1714         commands, flags and backends.
1715

rclone authorize

1717       Remote authorization.
1718
1719   Synopsis
1720       Remote authorization.  Used to authorize a remote  or  headless  rclone
1721       from a machine with a browser - use as instructed by rclone config.
1722
1723       Use  the  --auth-no-open-browser to prevent rclone to open auth link in
1724       default browser automatically.
1725
1726              rclone authorize [flags]
1727
1728   Options
1729                    --auth-no-open-browser   Do not automatically open auth link in default browser
1730                -h, --help                   help for authorize
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  (https://rclone.org/commands/rclone/)  - Show help for rclone
1737         commands, flags and backends.
1738

rclone backend

1740       Run a backend specific command.
1741
1742   Synopsis
1743       This runs a backend specific command.  The commands themselves  (except
1744       for  "help"  and "features") are defined by the backends and you should
1745       see the backend docs for definitions.
1746
1747       You can discover what commands a backend implements by using
1748
1749              rclone backend help remote:
1750              rclone backend help <backendname>
1751
1752       You can also discover information about the backend using  (see  opera‐
1753       tions/fsinfo  (https://rclone.org/rc/#operations/fsinfo)  in the remote
1754       control docs for more info).
1755
1756              rclone backend features remote:
1757
1758       Pass options to the backend command with -o.  This should be  key=value
1759       or key, e.g.:
1760
1761              rclone backend stats remote:path stats -o format=json -o long
1762
1763       Pass arguments to the backend by placing them on the end of the line
1764
1765              rclone backend cleanup remote:path file1 file2 file3
1766
1767       Note  to  run these commands on a running backend then see backend/com‐
1768       mand (https://rclone.org/rc/#backend/command) in the rc docs.
1769
1770              rclone backend <command> remote:path [opts] <args> [flags]
1771
1772   Options
1773                -h, --help                 help for backend
1774                    --json                 Always output in JSON format
1775                -o, --option stringArray   Option in the form name=value or name
1776
1777       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1778       tions not listed here.
1779
1780   SEE ALSO
1781       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1782         commands, flags and backends.
1783

rclone cat

1785       Concatenates any files and sends them to stdout.
1786
1787   Synopsis
1788       rclone cat sends any files to standard output.
1789
1790       You can use it like this to output a single file
1791
1792              rclone cat remote:path/to/file
1793
1794       Or like this to output any file in dir or its subdirectories.
1795
1796              rclone cat remote:path/to/dir
1797
1798       Or like this to output any .txt files in dir or its subdirectories.
1799
1800              rclone --include "*.txt" cat remote:path/to/dir
1801
1802       Use the --head flag to print characters only at the start,  --tail  for
1803       the  end  and  --offset  and  --count to print a section in the middle.
1804       Note that if offset is negative it will count from the end, so --offset
1805       -1 --count 1 is equivalent to --tail 1.
1806
1807              rclone cat remote:path [flags]
1808
1809   Options
1810                    --count int    Only print N characters (default -1)
1811                    --discard      Discard the output instead of printing
1812                    --head int     Only print the first N characters
1813                -h, --help         help for cat
1814                    --offset int   Start printing at offset N (or from end if -ve)
1815                    --tail int     Only print the last N characters
1816
1817       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1818       tions not listed here.
1819
1820   SEE ALSO
1821       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1822         commands, flags and backends.
1823

rclone checksum

1825       Checks the files in the source against a SUM file.
1826
1827   Synopsis
1828       Checks  that  hashsums of source files match the SUM file.  It compares
1829       hashes (MD5, SHA1, etc) and logs a report of files which  don't  match.
1830       It doesn't alter the file system.
1831
1832       If  you  supply the --download flag, it will download the data from re‐
1833       mote and calculate the contents hash on the fly.  This  can  be  useful
1834       for  remotes  that  don't support hashes or if you really want to check
1835       all the data.
1836
1837       Note that hash values in the SUM file are treated as case insensitive.
1838
1839       If you supply the --one-way flag, it will only check that files in  the
1840       source  match  the  files in the destination, not the other way around.
1841       This means that extra files in the destination  that  are  not  in  the
1842       source will not be detected.
1843
1844       The  --differ,  --missing-on-dst, --missing-on-src, --match and --error
1845       flags write paths, one per line, to the file name (or stdout if  it  is
1846       -)  supplied.  What they write is described in the help below.  For ex‐
1847       ample --differ will write all paths  which  are  present  on  both  the
1848       source and destination but different.
1849
1850       The  --combined  flag  will write a file (or stdout) which contains all
1851       file paths with a symbol and then a space and then the path to tell you
1852       what happened to it.  These are reminiscent of diff files.
1853
1854       • = path means path was found in source and destination and was identi‐
1855         cal
1856
1857       • - path means path was missing on the source, so only in the  destina‐
1858         tion
1859
1860       • +  path  means  path  was  missing on the destination, so only in the
1861         source
1862
1863       • * path means path was present in source and destination  but  differ‐
1864         ent.
1865
1866       • !  path  means  there  was  an error reading or hashing the source or
1867         dest.
1868
1869         rclone checksum <hash> sumfile src:path [flags]
1870
1871   Options
1872                    --combined string         Make a combined report of changes to this file
1873                    --differ string           Report all non-matching files to this file
1874                    --download                Check by hashing the contents
1875                    --error string            Report all files with errors (hashing or reading) to this file
1876                -h, --help                    help for checksum
1877                    --match string            Report all matching files to this file
1878                    --missing-on-dst string   Report all files missing from the destination to this file
1879                    --missing-on-src string   Report all files missing from the source to this file
1880                    --one-way                 Check one way only, source files must exist on remote
1881
1882       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1883       tions not listed here.
1884
1885   SEE ALSO
1886       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1887         commands, flags and backends.
1888

rclone completion

1890       generate the autocompletion script for the specified shell
1891
1892   Synopsis
1893       Generate the autocompletion script for rclone for the specified  shell.
1894       See  each  sub-command's  help  for details on how to use the generated
1895       script.
1896
1897   Options
1898                -h, --help   help for completion
1899
1900       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1901       tions not listed here.
1902
1903   SEE ALSO
1904       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1905         commands, flags and backends.
1906
1907       • rclone  completion  bash  (https://rclone.org/commands/rclone_comple
1908         tion_bash/) - generate the autocompletion script for bash
1909
1910       • rclone  completion  fish  (https://rclone.org/commands/rclone_comple
1911         tion_fish/) - generate the autocompletion script for fish
1912
1913       • rclone completion powershell (https://rclone.org/commands/rclone_com
1914         pletion_powershell/)  - generate the autocompletion script for power‐
1915         shell
1916
1917       • rclone  completion  zsh   (https://rclone.org/commands/rclone_comple
1918         tion_zsh/) - generate the autocompletion script for zsh
1919

rclone completion bash

1921       generate the autocompletion script for bash
1922
1923   Synopsis
1924       Generate the autocompletion script for the bash shell.
1925
1926       This script depends on the 'bash-completion' package.  If it is not in‐
1927       stalled already, you can install it via your OS's package manager.
1928
1929       To load completions in your current shell session:  $  source  <(rclone
1930       completion bash)
1931
1932       To  load  completions  for  every  new  session, execute once: Linux: $
1933       rclone completion bash > /etc/bash_completion.d/rclone MacOS: $  rclone
1934       completion bash > /usr/local/etc/bash_completion.d/rclone
1935
1936       You will need to start a new shell for this setup to take effect.
1937
1938              rclone completion bash
1939
1940   Options
1941                -h, --help              help for bash
1942                    --no-descriptions   disable completion descriptions
1943
1944       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1945       tions not listed here.
1946
1947   SEE ALSO
1948       • rclone completion (https://rclone.org/commands/rclone_completion/)  -
1949         generate the autocompletion script for the specified shell
1950

rclone completion fish

1952       generate the autocompletion script for fish
1953
1954   Synopsis
1955       Generate the autocompletion script for the fish shell.
1956
1957       To  load completions in your current shell session: $ rclone completion
1958       fish | source
1959
1960       To load completions for every new session, execute once: $ rclone  com‐
1961       pletion fish > ~/.config/fish/completions/rclone.fish
1962
1963       You will need to start a new shell for this setup to take effect.
1964
1965              rclone completion fish [flags]
1966
1967   Options
1968                -h, --help              help for fish
1969                    --no-descriptions   disable completion descriptions
1970
1971       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1972       tions not listed here.
1973
1974   SEE ALSO
1975       • rclone completion (https://rclone.org/commands/rclone_completion/)  -
1976         generate the autocompletion script for the specified shell
1977

rclone completion powershell

1979       generate the autocompletion script for powershell
1980
1981   Synopsis
1982       Generate the autocompletion script for powershell.
1983
1984       To  load  completions in your current shell session: PS C:> rclone com‐
1985       pletion powershell | Out-String | Invoke-Expression
1986
1987       To load completions for every new session, add the output of the  above
1988       command to your powershell profile.
1989
1990              rclone completion powershell [flags]
1991
1992   Options
1993                -h, --help              help for powershell
1994                    --no-descriptions   disable completion descriptions
1995
1996       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1997       tions not listed here.
1998
1999   SEE ALSO
2000       • rclone completion (https://rclone.org/commands/rclone_completion/)  -
2001         generate the autocompletion script for the specified shell
2002

rclone completion zsh

2004       generate the autocompletion script for zsh
2005
2006   Synopsis
2007       Generate the autocompletion script for the zsh shell.
2008
2009       If shell completion is not already enabled in your environment you will
2010       need to enable it.  You can execute the following once:
2011
2012       $ echo "autoload -U compinit; compinit" >> ~/.zshrc
2013
2014       To load completions for every new session, execute  once:  #  Linux:  $
2015       rclone completion zsh > "${fpath[1]}/_rclone" # macOS: $ rclone comple‐
2016       tion zsh > /usr/local/share/zsh/site-functions/_rclone
2017
2018       You will need to start a new shell for this setup to take effect.
2019
2020              rclone completion zsh [flags]
2021
2022   Options
2023                -h, --help              help for zsh
2024                    --no-descriptions   disable completion descriptions
2025
2026       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2027       tions not listed here.
2028
2029   SEE ALSO
2030       • rclone  completion (https://rclone.org/commands/rclone_completion/) -
2031         generate the autocompletion script for the specified shell
2032

rclone config create

2034       Create a new remote with name, type and options.
2035
2036   Synopsis
2037       Create a new remote of name with type and options.  The options  should
2038       be passed in pairs of key value or as key=value.
2039
2040       For  example  to make a swift remote of name myremote using auto config
2041       you would do:
2042
2043              rclone config create myremote swift env_auth true
2044              rclone config create myremote swift env_auth=true
2045
2046       So for example if you wanted to configure a Google Drive remote but us‐
2047       ing remote authorization you would do this:
2048
2049              rclone config create mydrive drive config_is_local=false
2050
2051       Note  that  if the config process would normally ask a question the de‐
2052       fault is taken (unless --non-interactive is used).  Each time that hap‐
2053       pens rclone will print or DEBUG a message saying how to affect the val‐
2054       ue taken.
2055
2056       If any of the parameters passed is a password field, then  rclone  will
2057       automatically  obscure  them  if  they  aren't  already obscured before
2058       putting them in the config file.
2059
2060       NB If the password parameter is 22 characters or  longer  and  consists
2061       only  of  base64  characters then rclone can get confused about whether
2062       the password is already obscured or not and  put  unobscured  passwords
2063       into  the  config  file.  If you want to be 100% certain that the pass‐
2064       words get obscured then use the --obscure flag, or if you are 100% cer‐
2065       tain  you are already passing obscured passwords then use --no-obscure.
2066       You can also set obscured passwords using the  rclone  config  password
2067       command.
2068
2069       The flag --non-interactive is for use by applications that wish to con‐
2070       figure rclone themeselves, rather than using rclone's text  based  con‐
2071       figuration questions.  If this flag is set, and rclone needs to ask the
2072       user a question, a JSON blob will be returned with the question in it.
2073
2074       This will look something like (some irrelevant detail removed):
2075
2076              {
2077                  "State": "*oauth-islocal,teamdrive,,",
2078                  "Option": {
2079                      "Name": "config_is_local",
2080                      "Help": "Use auto config?\n * Say Y if not sure\n * Say N if you are working on a remote or headless machine\n",
2081                      "Default": true,
2082                      "Examples": [
2083                          {
2084                              "Value": "true",
2085                              "Help": "Yes"
2086                          },
2087                          {
2088                              "Value": "false",
2089                              "Help": "No"
2090                          }
2091                      ],
2092                      "Required": false,
2093                      "IsPassword": false,
2094                      "Type": "bool",
2095                      "Exclusive": true,
2096                  },
2097                  "Error": "",
2098              }
2099
2100       The format  of  Option  is  the  same  as  returned  by  rclone  config
2101       providers.   The  question  should be asked to the user and returned to
2102       rclone as the --result option along with the --state parameter.
2103
2104       The keys of Option are used as follows:
2105
2106       • Name - name of variable - show to user
2107
2108       • Help - help text.  Hard wrapped at 80  chars.   Any  URLs  should  be
2109         clicky.
2110
2111       • Default  - default value - return this if the user just wants the de‐
2112         fault.
2113
2114       • Examples - the user should be able to choose one of these
2115
2116       • Required - the value should be non-empty
2117
2118       • IsPassword - the value is a password and should be edited as such
2119
2120       • Type - type of value, eg bool, string, int and others
2121
2122       • Exclusive - if set no free-form entry allowed only the Examples
2123
2124       • Irrelevant keys Provider, ShortOpt, Hide, NoPrefix, Advanced
2125
2126       If Error is set then it should be shown to the user at the same time as
2127       the question.
2128
2129              rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
2130
2131       Note  that  when using --continue all passwords should be passed in the
2132       clear (not obscured).  Any default config values should  be  passed  in
2133       with each invocation of --continue.
2134
2135       At  the end of the non interactive process, rclone will return a result
2136       with State as empty string.
2137
2138       If --all is passed then rclone will ask all the config  questions,  not
2139       just  the  post  config questions.  Any parameters are used as defaults
2140       for questions as usual.
2141
2142       Note that bin/config.py in the rclone source implements  this  protocol
2143       as a readable demonstration.
2144
2145              rclone config create name type [key value]* [flags]
2146
2147   Options
2148                    --all               Ask the full set of config questions
2149                    --continue          Continue the configuration process with an answer
2150                -h, --help              help for create
2151                    --no-obscure        Force any passwords not to be obscured
2152                    --non-interactive   Don't interact with user and return questions
2153                    --obscure           Force any passwords to be obscured
2154                    --result string     Result - use with --continue
2155                    --state string      State - use with --continue
2156
2157       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2158       tions not listed here.
2159
2160   SEE ALSO
2161       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2162         interactive configuration session.
2163

rclone config delete

2165       Delete an existing remote.
2166
2167              rclone config delete name [flags]
2168
2169   Options
2170                -h, --help   help for delete
2171
2172       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2173       tions not listed here.
2174
2175   SEE ALSO
2176       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2177         interactive configuration session.
2178

rclone config disconnect

2180       Disconnects user from remote
2181
2182   Synopsis
2183       This disconnects the remote: passed in to the cloud storage system.
2184
2185       This normally means revoking the oauth token.
2186
2187       To reconnect use "rclone config reconnect".
2188
2189              rclone config disconnect remote: [flags]
2190
2191   Options
2192                -h, --help   help for disconnect
2193
2194       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2195       tions not listed here.
2196
2197   SEE ALSO
2198       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2199         interactive configuration session.
2200

rclone config dump

2202       Dump the config file as JSON.
2203
2204              rclone config dump [flags]
2205
2206   Options
2207                -h, --help   help for dump
2208
2209       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2210       tions not listed here.
2211
2212   SEE ALSO
2213       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2214         interactive configuration session.
2215

rclone config edit

2217       Enter an interactive configuration session.
2218

Synopsis

2220       Enter  an interactive configuration session where you can setup new re‐
2221       motes and manage existing ones.  You may also set or remove a  password
2222       to protect your configuration.
2223
2224              rclone config edit [flags]
2225

Options

2227                -h, --help   help for edit
2228
2229       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2230       tions not listed here.
2231

SEE ALSO

2233       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2234         interactive configuration session.
2235

rclone config file

2237       Show path of configuration file in use.
2238
2239              rclone config file [flags]
2240
2241   Options
2242                -h, --help   help for file
2243
2244       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2245       tions not listed here.
2246
2247   SEE ALSO
2248       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2249         interactive configuration session.
2250

rclone config password

2252       Update password in an existing remote.
2253
2254   Synopsis
2255       Update an existing remote's password.  The password should be passed in
2256       pairs of key password or  as  key=password.   The  password  should  be
2257       passed in in clear (unobscured).
2258
2259       For example to set password of a remote of name myremote you would do:
2260
2261              rclone config password myremote fieldname mypassword
2262              rclone config password myremote fieldname=mypassword
2263
2264       This  command  is obsolete now that "config update" and "config create"
2265       both support obscuring passwords directly.
2266
2267              rclone config password name [key value]+ [flags]
2268
2269   Options
2270                -h, --help   help for password
2271
2272       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2273       tions not listed here.
2274
2275   SEE ALSO
2276       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2277         interactive configuration session.
2278

rclone config paths

2280       Show paths used for configuration, cache, temp etc.
2281
2282              rclone config paths [flags]
2283
2284   Options
2285                -h, --help   help for paths
2286
2287       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2288       tions not listed here.
2289
2290   SEE ALSO
2291       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2292         interactive configuration session.
2293

rclone config providers

2295       List in JSON format all the providers and options.
2296
2297              rclone config providers [flags]
2298
2299   Options
2300                -h, --help   help for providers
2301
2302       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2303       tions not listed here.
2304
2305   SEE ALSO
2306       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2307         interactive configuration session.
2308

rclone config reconnect

2310       Re-authenticates user with remote.
2311
2312   Synopsis
2313       This reconnects remote: passed in to the cloud storage system.
2314
2315       To disconnect the remote use "rclone config disconnect".
2316
2317       This normally means going through the interactive oauth flow again.
2318
2319              rclone config reconnect remote: [flags]
2320
2321   Options
2322                -h, --help   help for reconnect
2323
2324       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2325       tions not listed here.
2326
2327   SEE ALSO
2328       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2329         interactive configuration session.
2330

rclone config show

2332       Print (decrypted) config file, or the config for a single remote.
2333
2334              rclone config show [<remote>] [flags]
2335
2336   Options
2337                -h, --help   help for show
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 config (https://rclone.org/commands/rclone_config/) - Enter an
2344         interactive configuration session.
2345

rclone config touch

2347       Ensure configuration file exists.
2348
2349              rclone config touch [flags]
2350
2351   Options
2352                -h, --help   help for touch
2353
2354       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2355       tions not listed here.
2356
2357   SEE ALSO
2358       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2359         interactive configuration session.
2360

rclone config update

2362       Update options in an existing remote.
2363
2364   Synopsis
2365       Update an existing remote's options.  The options should be  passed  in
2366       pairs of key value or as key=value.
2367
2368       For  example  to update the env_auth field of a remote of name myremote
2369       you would do:
2370
2371              rclone config update myremote env_auth true
2372              rclone config update myremote env_auth=true
2373
2374       If the remote uses OAuth the token will be updated, if  you  don't  re‐
2375       quire this add an extra parameter thus:
2376
2377              rclone config update myremote env_auth=true config_refresh_token=false
2378
2379       Note  that  if the config process would normally ask a question the de‐
2380       fault is taken (unless --non-interactive is used).  Each time that hap‐
2381       pens rclone will print or DEBUG a message saying how to affect the val‐
2382       ue taken.
2383
2384       If any of the parameters passed is a password field, then  rclone  will
2385       automatically  obscure  them  if  they  aren't  already obscured before
2386       putting them in the config file.
2387
2388       NB If the password parameter is 22 characters or  longer  and  consists
2389       only  of  base64  characters then rclone can get confused about whether
2390       the password is already obscured or not and  put  unobscured  passwords
2391       into  the  config  file.  If you want to be 100% certain that the pass‐
2392       words get obscured then use the --obscure flag, or if you are 100% cer‐
2393       tain  you are already passing obscured passwords then use --no-obscure.
2394       You can also set obscured passwords using the  rclone  config  password
2395       command.
2396
2397       The flag --non-interactive is for use by applications that wish to con‐
2398       figure rclone themeselves, rather than using rclone's text  based  con‐
2399       figuration questions.  If this flag is set, and rclone needs to ask the
2400       user a question, a JSON blob will be returned with the question in it.
2401
2402       This will look something like (some irrelevant detail removed):
2403
2404              {
2405                  "State": "*oauth-islocal,teamdrive,,",
2406                  "Option": {
2407                      "Name": "config_is_local",
2408                      "Help": "Use auto config?\n * Say Y if not sure\n * Say N if you are working on a remote or headless machine\n",
2409                      "Default": true,
2410                      "Examples": [
2411                          {
2412                              "Value": "true",
2413                              "Help": "Yes"
2414                          },
2415                          {
2416                              "Value": "false",
2417                              "Help": "No"
2418                          }
2419                      ],
2420                      "Required": false,
2421                      "IsPassword": false,
2422                      "Type": "bool",
2423                      "Exclusive": true,
2424                  },
2425                  "Error": "",
2426              }
2427
2428       The format  of  Option  is  the  same  as  returned  by  rclone  config
2429       providers.   The  question  should be asked to the user and returned to
2430       rclone as the --result option along with the --state parameter.
2431
2432       The keys of Option are used as follows:
2433
2434       • Name - name of variable - show to user
2435
2436       • Help - help text.  Hard wrapped at 80  chars.   Any  URLs  should  be
2437         clicky.
2438
2439       • Default  - default value - return this if the user just wants the de‐
2440         fault.
2441
2442       • Examples - the user should be able to choose one of these
2443
2444       • Required - the value should be non-empty
2445
2446       • IsPassword - the value is a password and should be edited as such
2447
2448       • Type - type of value, eg bool, string, int and others
2449
2450       • Exclusive - if set no free-form entry allowed only the Examples
2451
2452       • Irrelevant keys Provider, ShortOpt, Hide, NoPrefix, Advanced
2453
2454       If Error is set then it should be shown to the user at the same time as
2455       the question.
2456
2457              rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
2458
2459       Note  that  when using --continue all passwords should be passed in the
2460       clear (not obscured).  Any default config values should  be  passed  in
2461       with each invocation of --continue.
2462
2463       At  the end of the non interactive process, rclone will return a result
2464       with State as empty string.
2465
2466       If --all is passed then rclone will ask all the config  questions,  not
2467       just  the  post  config questions.  Any parameters are used as defaults
2468       for questions as usual.
2469
2470       Note that bin/config.py in the rclone source implements  this  protocol
2471       as a readable demonstration.
2472
2473              rclone config update name [key value]+ [flags]
2474
2475   Options
2476                    --all               Ask the full set of config questions
2477                    --continue          Continue the configuration process with an answer
2478                -h, --help              help for update
2479                    --no-obscure        Force any passwords not to be obscured
2480                    --non-interactive   Don't interact with user and return questions
2481                    --obscure           Force any passwords to be obscured
2482                    --result string     Result - use with --continue
2483                    --state string      State - use with --continue
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 config (https://rclone.org/commands/rclone_config/) - Enter an
2490         interactive configuration session.
2491

rclone config userinfo

2493       Prints info about logged in user of remote.
2494
2495   Synopsis
2496       This  prints  the  details of the person logged in to the cloud storage
2497       system.
2498
2499              rclone config userinfo remote: [flags]
2500
2501   Options
2502                -h, --help   help for userinfo
2503                    --json   Format output as JSON
2504
2505       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2506       tions not listed here.
2507
2508   SEE ALSO
2509       • rclone config (https://rclone.org/commands/rclone_config/) - Enter an
2510         interactive configuration session.
2511

rclone copyto

2513       Copy files from source to dest, skipping identical files.
2514
2515   Synopsis
2516       If source:path is a file or directory then it copies it to  a  file  or
2517       directory named dest:path.
2518
2519       This  can  be  used  to upload single files to other than their current
2520       name.  If the source is a directory then it acts exactly like the  copy
2521       command.
2522
2523       So
2524
2525              rclone copyto src dst
2526
2527       where  src and dst are rclone paths, either remote:path or /path/to/lo‐
2528       cal or C:.
2529
2530       This will:
2531
2532              if src is file
2533                  copy it to dst, overwriting an existing file if it exists
2534              if src is directory
2535                  copy it to dst, overwriting existing files if they exist
2536                  see copy command for full details
2537
2538       This doesn't transfer files that are identical on src and dst,  testing
2539       by  size and modification time or MD5SUM.  It doesn't delete files from
2540       the destination.
2541
2542       Note: Use the -P/--progress flag to view real-time transfer statistics
2543
2544              rclone copyto source:path dest:path [flags]
2545
2546   Options
2547                -h, --help   help for copyto
2548
2549       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2550       tions not listed here.
2551
2552   SEE ALSO
2553       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2554         commands, flags and backends.
2555

rclone copyurl

2557       Copy url content to dest.
2558
2559   Synopsis
2560       Download a URL's content and copy it to the destination without  saving
2561       it in temporary storage.
2562
2563       Setting  --auto-filename  will cause the file name to be retrieved from
2564       the URL (after any redirections) and  used  in  the  destination  path.
2565       With  --print-filename  in  addition,  the  resulting file name will be
2566       printed.
2567
2568       Setting --no-clobber will prevent overwriting file on  the  destination
2569       if there is one with the same name.
2570
2571       Setting --stdout or making the output file name - will cause the output
2572       to be written to standard output.
2573
2574              rclone copyurl https://example.com dest:path [flags]
2575
2576   Options
2577                -a, --auto-filename    Get the file name from the URL and use it for destination file path
2578                -h, --help             help for copyurl
2579                    --no-clobber       Prevent overwriting file with same name
2580                -p, --print-filename   Print the resulting name from --auto-filename
2581                    --stdout           Write the output to stdout rather than a file
2582
2583       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2584       tions not listed here.
2585
2586   SEE ALSO
2587       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2588         commands, flags and backends.
2589

rclone cryptcheck

2591       Cryptcheck checks the integrity of a crypted remote.
2592
2593   Synopsis
2594       rclone cryptcheck checks a remote against a crypted  remote.   This  is
2595       the equivalent of running rclone check, but able to check the checksums
2596       of the crypted remote.
2597
2598       For it to work the underlying remote of the cryptedremote must  support
2599       some kind of checksum.
2600
2601       It  works by reading the nonce from each file on the cryptedremote: and
2602       using that to encrypt each file on the remote:.   It  then  checks  the
2603       checksum  of  the  underlying  file  on  the cryptedremote: against the
2604       checksum of the file it has just encrypted.
2605
2606       Use it like this
2607
2608              rclone cryptcheck /path/to/files encryptedremote:path
2609
2610       You can use it like this also, but that will  involve  downloading  all
2611       the files in remote:path.
2612
2613              rclone cryptcheck remote:path encryptedremote:path
2614
2615       After it has run it will log the status of the encryptedremote:.
2616
2617       If  you supply the --one-way flag, it will only check that files in the
2618       source match the files in the destination, not the  other  way  around.
2619       This  means  that  extra  files  in the destination that are not in the
2620       source will not be detected.
2621
2622       The --differ, --missing-on-dst, --missing-on-src, --match  and  --error
2623       flags  write  paths, one per line, to the file name (or stdout if it is
2624       -) supplied.  What they write is described in the help below.  For  ex‐
2625       ample  --differ  will  write  all  paths  which are present on both the
2626       source and destination but different.
2627
2628       The --combined flag will write a file (or stdout)  which  contains  all
2629       file paths with a symbol and then a space and then the path to tell you
2630       what happened to it.  These are reminiscent of diff files.
2631
2632       • = path means path was found in source and destination and was identi‐
2633         cal
2634
2635       • -  path means path was missing on the source, so only in the destina‐
2636         tion
2637
2638       • + path means path was missing on the  destination,  so  only  in  the
2639         source
2640
2641       • *  path  means path was present in source and destination but differ‐
2642         ent.
2643
2644       • ! path means there was an error reading  or  hashing  the  source  or
2645         dest.
2646
2647         rclone cryptcheck remote:path cryptedremote:path [flags]
2648
2649   Options
2650                    --combined string         Make a combined report of changes to this file
2651                    --differ string           Report all non-matching files to this file
2652                    --error string            Report all files with errors (hashing or reading) to this file
2653                -h, --help                    help for cryptcheck
2654                    --match string            Report all matching files to this file
2655                    --missing-on-dst string   Report all files missing from the destination to this file
2656                    --missing-on-src string   Report all files missing from the source to this file
2657                    --one-way                 Check one way only, source files must exist on remote
2658
2659       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2660       tions not listed here.
2661
2662   SEE ALSO
2663       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2664         commands, flags and backends.
2665

rclone cryptdecode

2667       Cryptdecode returns unencrypted file names.
2668
2669   Synopsis
2670       rclone  cryptdecode returns unencrypted file names when provided with a
2671       list of encrypted file names.  List limit is 10 items.
2672
2673       If you supply the --reverse flag, it will return encrypted file names.
2674
2675       use it like this
2676
2677              rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
2678
2679              rclone cryptdecode --reverse encryptedremote: filename1 filename2
2680
2681       Another way to accomplish this is by using the  rclone  backend  encode
2682       (or  decode)command.   See  the  documentation on the crypt overlay for
2683       more info.
2684
2685              rclone cryptdecode encryptedremote: encryptedfilename [flags]
2686
2687   Options
2688                -h, --help      help for cryptdecode
2689                    --reverse   Reverse cryptdecode, encrypts filenames
2690
2691       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2692       tions not listed here.
2693
2694   SEE ALSO
2695       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2696         commands, flags and backends.
2697

rclone deletefile

2699       Remove a single file from remote.
2700
2701   Synopsis
2702       Remove a single file from remote.  Unlike delete it cannot be  used  to
2703       remove a directory and it doesn't obey include/exclude filters - if the
2704       specified file exists, it will always be removed.
2705
2706              rclone deletefile remote:path [flags]
2707
2708   Options
2709                -h, --help   help for deletefile
2710
2711       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2712       tions not listed here.
2713
2714   SEE ALSO
2715       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2716         commands, flags and backends.
2717

rclone genautocomplete

2719       Output completion script for a given shell.
2720
2721   Synopsis
2722       Generates a shell completion script for rclone.   Run  with  --help  to
2723       list the supported shells.
2724
2725   Options
2726                -h, --help   help for genautocomplete
2727
2728       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2729       tions not listed here.
2730
2731   SEE ALSO
2732       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2733         commands, flags and backends.
2734
2735       • rclone  genautocomplete  bash (https://rclone.org/commands/rclone_ge
2736         nautocomplete_bash/) - Output bash completion script for rclone.
2737
2738       • rclone genautocomplete  fish  (https://rclone.org/commands/rclone_ge
2739         nautocomplete_fish/) - Output fish completion script for rclone.
2740
2741       • rclone genautocomplete zsh (https://rclone.org/commands/rclone_genau
2742         tocomplete_zsh/) - Output zsh completion script for rclone.
2743

rclone genautocomplete bash

2745       Output bash completion script for rclone.
2746
2747   Synopsis
2748       Generates a bash shell autocompletion script for rclone.
2749
2750       This writes to /etc/bash_completion.d/rclone by default so will  proba‐
2751       bly need to be run with sudo or as root, e.g.
2752
2753              sudo rclone genautocomplete bash
2754
2755       Logout  and  login  again  to use the autocompletion scripts, or source
2756       them directly
2757
2758              . /etc/bash_completion
2759
2760       If you supply a command line argument the script will be written there.
2761
2762       If output_file is "-", then the output will be written to stdout.
2763
2764              rclone genautocomplete bash [output_file] [flags]
2765
2766   Options
2767                -h, --help   help for bash
2768
2769       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2770       tions not listed here.
2771
2772   SEE ALSO
2773       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2774         complete/) - Output completion script for a given shell.
2775

rclone genautocomplete fish

2777       Output fish completion script for rclone.
2778
2779   Synopsis
2780       Generates a fish autocompletion script for rclone.
2781
2782       This writes to /etc/fish/completions/rclone.fish  by  default  so  will
2783       probably need to be run with sudo or as root, e.g.
2784
2785              sudo rclone genautocomplete fish
2786
2787       Logout  and  login  again  to use the autocompletion scripts, or source
2788       them directly
2789
2790              . /etc/fish/completions/rclone.fish
2791
2792       If you supply a command line argument the script will be written there.
2793
2794       If output_file is "-", then the output will be written to stdout.
2795
2796              rclone genautocomplete fish [output_file] [flags]
2797
2798   Options
2799                -h, --help   help for fish
2800
2801       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2802       tions not listed here.
2803
2804   SEE ALSO
2805       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2806         complete/) - Output completion script for a given shell.
2807

rclone genautocomplete zsh

2809       Output zsh completion script for rclone.
2810
2811   Synopsis
2812       Generates a zsh autocompletion script for rclone.
2813
2814       This writes to /usr/share/zsh/vendor-completions/_rclone by default  so
2815       will probably need to be run with sudo or as root, e.g.
2816
2817              sudo rclone genautocomplete zsh
2818
2819       Logout  and  login  again  to use the autocompletion scripts, or source
2820       them directly
2821
2822              autoload -U compinit && compinit
2823
2824       If you supply a command line argument the script will be written there.
2825
2826       If output_file is "-", then the output will be written to stdout.
2827
2828              rclone genautocomplete zsh [output_file] [flags]
2829
2830   Options
2831                -h, --help   help for zsh
2832
2833       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2834       tions not listed here.
2835
2836   SEE ALSO
2837       • rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2838         complete/) - Output completion script for a given shell.
2839

rclone gendocs

2841       Output markdown docs for rclone to the directory supplied.
2842
2843   Synopsis
2844       This produces markdown docs for the rclone commands  to  the  directory
2845       supplied.   These  are in a format suitable for hugo to render into the
2846       rclone.org website.
2847
2848              rclone gendocs output_directory [flags]
2849
2850   Options
2851                -h, --help   help for gendocs
2852
2853       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2854       tions not listed here.
2855
2856   SEE ALSO
2857       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2858         commands, flags and backends.
2859

rclone hashsum

2861       Produces a hashsum file for all the objects in the path.
2862
2863   Synopsis
2864       Produces a hash file for all the objects in the  path  using  the  hash
2865       named.  The output is in the same format as the standard md5sum/sha1sum
2866       tool.
2867
2868       By default, the hash is requested from the remote.  If the hash is  not
2869       supported  by  the remote, no hash will be returned.  With the download
2870       flag, the file will be downloaded from the remote  and  hashed  locally
2871       enabling any hash for any remote.
2872
2873       Run without a hash to see the list of all supported hashes, e.g.
2874
2875              $ rclone hashsum
2876              Supported hashes are:
2877                * md5
2878                * sha1
2879                * whirlpool
2880                * crc32
2881                * sha256
2882                * dropbox
2883                * mailru
2884                * quickxor
2885
2886       Then
2887
2888              $ rclone hashsum MD5 remote:path
2889
2890       Note that hash names are case insensitive and values are output in low‐
2891       er case.
2892
2893              rclone hashsum <hash> remote:path [flags]
2894
2895   Options
2896                    --base64               Output base64 encoded hashsum
2897                -C, --checkfile string     Validate hashes against a given SUM file instead of printing them
2898                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
2899                -h, --help                 help for hashsum
2900                    --output-file string   Output hashsums to a file rather than the terminal
2901
2902       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2903       tions not listed here.
2904
2905   SEE ALSO
2906       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2907         commands, flags and backends.
2908
2910       Generate public link to file/folder.
2911
2912   Synopsis
2913       rclone link will create, retrieve or remove a public link to the  given
2914       file or folder.
2915
2916              rclone link remote:path/to/file
2917              rclone link remote:path/to/folder/
2918              rclone link --unlink remote:path/to/folder/
2919              rclone link --expire 1d remote:path/to/file
2920
2921       If you supply the --expire flag, it will set the expiration time other‐
2922       wise it will use the default (100 years).  Note not all  backends  sup‐
2923       port  the  --expire  flag  - if the backend doesn't support it then the
2924       link returned won't expire.
2925
2926       Use the --unlink flag to remove existing public links to  the  file  or
2927       folder.   Note  not  all  backends support "--unlink" flag - those that
2928       don't will just ignore it.
2929
2930       If successful, the last line of the output will contain the link.   Ex‐
2931       act  capabilities depend on the remote, but the link will always by de‐
2932       fault be created with the least constraints – e.g.  no expiry, no pass‐
2933       word protection, accessible without account.
2934
2935              rclone link remote:path [flags]
2936
2937   Options
2938                    --expire Duration   The amount of time that the link will be valid (default off)
2939                -h, --help              help for link
2940                    --unlink            Remove existing public link to file/folder
2941
2942       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2943       tions not listed here.
2944
2945   SEE ALSO
2946       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2947         commands, flags and backends.
2948

rclone listremotes

2950       List all the remotes in the config file.
2951
2952   Synopsis
2953       rclone  listremotes  lists  all  the  available remotes from the config
2954       file.
2955
2956       When uses with the -l flag it lists the types too.
2957
2958              rclone listremotes [flags]
2959
2960   Options
2961                -h, --help   help for listremotes
2962                    --long   Show the type as well as names
2963
2964       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2965       tions not listed here.
2966
2967   SEE ALSO
2968       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2969         commands, flags and backends.
2970

rclone lsf

2972       List directories and objects in remote:path formatted for parsing.
2973
2974   Synopsis
2975       List the contents of the source path (directories and objects) to stan‐
2976       dard  output  in  a form which is easy to parse by scripts.  By default
2977       this will just be the names of the objects  and  directories,  one  per
2978       line.  The directories will have a / suffix.
2979
2980       Eg
2981
2982              $ rclone lsf swift:bucket
2983              bevajer5jef
2984              canole
2985              diwogej7
2986              ferejej3gux/
2987              fubuwic
2988
2989       Use  the  --format option to control what gets listed.  By default this
2990       is just the path, but you can use these parameters to control the  out‐
2991       put:
2992
2993              p - path
2994              s - size
2995              t - modification time
2996              h - hash
2997              i - ID of object
2998              o - Original ID of underlying object
2999              m - MimeType of object if known
3000              e - encrypted name
3001              T - tier of storage if known, e.g. "Hot" or "Cool"
3002
3003       So  if  you  wanted the path, size and modification time, you would use
3004       --format "pst", or maybe --format "tsp" to put the path last.
3005
3006       Eg
3007
3008              $ rclone lsf  --format "tsp" swift:bucket
3009              2016-06-25 18:55:41;60295;bevajer5jef
3010              2016-06-25 18:55:43;90613;canole
3011              2016-06-25 18:55:43;94467;diwogej7
3012              2018-04-26 08:50:45;0;ferejej3gux/
3013              2016-06-25 18:55:40;37600;fubuwic
3014
3015       If you specify "h" in the format you will get the MD5 hash by  default,
3016       use  the  "--hash"  flag to change which hash you want.  Note that this
3017       can be returned as an empty string if it isn't available on the  object
3018       (and  for  directories),  "ERROR" if there was an error reading it from
3019       the object and "UNSUPPORTED" if that object does not support that  hash
3020       type.
3021
3022       For example to emulate the md5sum command you can use
3023
3024              rclone lsf -R --hash MD5 --format hp --separator "  " --files-only .
3025
3026       Eg
3027
3028              $ rclone lsf -R --hash MD5 --format hp --separator "  " --files-only swift:bucket
3029              7908e352297f0f530b84a756f188baa3  bevajer5jef
3030              cd65ac234e6fea5925974a51cdd865cc  canole
3031              03b5341b4f234b9d984d03ad076bae91  diwogej7
3032              8fd37c3810dd660778137ac3a66cc06d  fubuwic
3033              99713e14a4c4ff553acaf1930fad985b  gixacuh7ku
3034
3035       (Though "rclone md5sum ." is an easier way of typing this.)
3036
3037       By  default the separator is ";" this can be changed with the --separa‐
3038       tor flag.  Note that separators aren't escaped in the path  so  putting
3039       it last is a good strategy.
3040
3041       Eg
3042
3043              $ rclone lsf  --separator "," --format "tshp" swift:bucket
3044              2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
3045              2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
3046              2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
3047              2018-04-26 08:52:53,0,,ferejej3gux/
3048              2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
3049
3050       You can output in CSV standard format.  This will escape things in " if
3051       they contain ,
3052
3053       Eg
3054
3055              $ rclone lsf --csv --files-only --format ps remote:path
3056              test.log,22355
3057              test.sh,449
3058              "this file contains a comma, in the file name.txt",6
3059
3060       Note that the --absolute parameter is useful for making lists of  files
3061       to pass to an rclone copy with the --files-from-raw flag.
3062
3063       For  example  to  find  all  the files modified within one day and copy
3064       those only (without traversing the whole directory structure):
3065
3066              rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
3067              rclone copy --files-from-raw new_files /path/to/local remote:path
3068
3069       Any of the filtering options can be applied to this command.
3070
3071       There are several related list commands
3072
3073       • ls to list size and path of objects only
3074
3075       • lsl to list modification time, size and path of objects only
3076
3077       • lsd to list directories only
3078
3079       • lsf to list objects and directories in easy to parse format
3080
3081       • lsjson to list objects and directories in JSON format
3082
3083       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
3084       human and machine readable.  lsjson is designed to be machine readable.
3085
3086       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
3087       recursion.
3088
3089       The other list commands lsd,lsf,lsjson do not recurse by default -  use
3090       -R to make them recurse.
3091
3092       Listing  a  non existent directory will produce an error except for re‐
3093       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
3094       bucket based remotes).
3095
3096              rclone lsf remote:path [flags]
3097
3098   Options
3099                    --absolute           Put a leading / in front of path names
3100                    --csv                Output in CSV format
3101                -d, --dir-slash          Append a slash to directory names (default true)
3102                    --dirs-only          Only list directories
3103                    --files-only         Only list files
3104                -F, --format string      Output format - see  help for details (default "p")
3105                    --hash h             Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "md5")
3106                -h, --help               help for lsf
3107                -R, --recursive          Recurse into the listing
3108                -s, --separator string   Separator for the items in the format (default ";")
3109
3110       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3111       tions not listed here.
3112
3113   SEE ALSO
3114       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3115         commands, flags and backends.
3116

rclone lsjson

3118       List directories and objects in the path in JSON format.
3119
3120   Synopsis
3121       List directories and objects in the path in JSON format.
3122
3123       The output is an array of Items, where each Item looks like this
3124
3125       {  "Hashes"  :  { "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
3126       "MD5"    :    "b1946ac92492d2347c6235b4d2611184",    "DropboxHash"    :
3127       "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"   },
3128       "ID": "y2djkhiujf83u33", "OrigID":  "UYOJVTUW00Q1RzTDA",  "IsBucket"  :
3129       false,  "IsDir" : false, "MimeType" : "application/octet-stream", "Mod‐
3130       Time" :  "2017-05-31T16:15:57.034468261+01:00",  "Name"  :  "file.txt",
3131       "Encrypted"    :    "v0qpsdq8anpci8n929v3uu9338",   "EncryptedPath"   :
3132       "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",         "Path"         :
3133       "full/path/goes/here/file.txt", "Size" : 6, "Tier" : "hot", }
3134
3135       If  --hash  is not specified the Hashes property won't be emitted.  The
3136       types of hash can be specified with the  --hash-type  parameter  (which
3137       may be repeated).  If --hash-type is set then it implies --hash.
3138
3139       If  --no-modtime  is  specified  then  ModTime will be blank.  This can
3140       speed things up on remotes where reading the ModTime takes an extra re‐
3141       quest (e.g.  s3, swift).
3142
3143       If  --no-mimetype  is  specified then MimeType will be blank.  This can
3144       speed things up on remotes where reading the MimeType  takes  an  extra
3145       request (e.g.  s3, swift).
3146
3147       If --encrypted is not specified the Encrypted won't be emitted.
3148
3149       If  --dirs-only  is  not specified files in addition to directories are
3150       returned
3151
3152       If --files-only is not specified directories in addition to  the  files
3153       will be returned.
3154
3155       if  --stat  is  set  then a single JSON blob will be returned about the
3156       item pointed to.  This will return an error if the  item  isn't  found.
3157       However  on  bucket based backends (like s3, gcs, b2, azureblob etc) if
3158       the item isn't found it will return an empty directory as it isn't pos‐
3159       sible to tell empty directories from missing directories there.
3160
3161       The Path field will only show folders below the remote path being list‐
3162       ed.  If "remote:path" contains the file "subfolder/file.txt", the  Path
3163       for  "file.txt" will be "subfolder/file.txt", not "remote:path/subfold‐
3164       er/file.txt".  When used without --recursive the Path  will  always  be
3165       the same as Name.
3166
3167       If the directory is a bucket in a bucket based backend, then "IsBucket"
3168       will be set to true.  This key won't be present unless it is "true".
3169
3170       The time is in RFC3339 format with up  to  nanosecond  precision.   The
3171       number  of  decimal  digits in the seconds will depend on the precision
3172       that the remote can hold the times, so if times  are  accurate  to  the
3173       nearest  millisecond  (e.g.  Google Drive) then 3 digits will always be
3174       shown ("2017-05-31T16:15:57.034+01:00") whereas if the times are  accu‐
3175       rate  to the nearest second (Dropbox, Box, WebDav, etc.) no digits will
3176       be shown ("2017-05-31T16:15:57+01:00").
3177
3178       The whole output can be processed as a JSON blob, or  alternatively  it
3179       can be processed line by line as each item is written one to a line.
3180
3181       Any of the filtering options can be applied to this command.
3182
3183       There are several related list commands
3184
3185       • ls to list size and path of objects only
3186
3187       • lsl to list modification time, size and path of objects only
3188
3189       • lsd to list directories only
3190
3191       • lsf to list objects and directories in easy to parse format
3192
3193       • lsjson to list objects and directories in JSON format
3194
3195       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
3196       human and machine readable.  lsjson is designed to be machine readable.
3197
3198       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
3199       recursion.
3200
3201       The  other list commands lsd,lsf,lsjson do not recurse by default - use
3202       -R to make them recurse.
3203
3204       Listing a non existent directory will produce an error except  for  re‐
3205       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
3206       bucket based remotes).
3207
3208              rclone lsjson remote:path [flags]
3209
3210   Options
3211                    --dirs-only               Show only directories in the listing
3212                -M, --encrypted               Show the encrypted names
3213                    --files-only              Show only files in the listing
3214                    --hash                    Include hashes in the output (may take longer)
3215                    --hash-type stringArray   Show only this hash type (may be repeated)
3216                -h, --help                    help for lsjson
3217                    --no-mimetype             Don't read the mime type (can speed things up)
3218                    --no-modtime              Don't read the modification time (can speed things up)
3219                    --original                Show the ID of the underlying Object
3220                -R, --recursive               Recurse into the listing
3221                    --stat                    Just return the info for the pointed to file
3222
3223       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3224       tions not listed here.
3225
3226   SEE ALSO
3227       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3228         commands, flags and backends.
3229

rclone mount

3231       Mount the remote as file system on a mountpoint.
3232
3233   Synopsis
3234       rclone mount allows Linux, FreeBSD, macOS and Windows to mount  any  of
3235       Rclone's cloud storage systems as a file system with FUSE.
3236
3237       First  set  up  your  remote  using rclone config.  Check it works with
3238       rclone ls etc.
3239
3240       On Linux and macOS, you can run mount in  either  foreground  or  back‐
3241       ground  (aka  daemon)  mode.  Mount runs in foreground mode by default.
3242       Use the --daemon flag to force background mode.  On Windows you can run
3243       mount in foreground only, the flag is ignored.
3244
3245       In  background  mode  rclone  acts as a generic Unix mount program: the
3246       main program starts, spawns background  rclone  process  to  setup  and
3247       maintain  the  mount, waits until success or timeout and exits with ap‐
3248       propriate code (killing the child process if it fails).
3249
3250       On Linux/macOS/FreeBSD start the mount like  this,  where  /path/to/lo‐
3251       cal/mount is an empty existing directory:
3252
3253              rclone mount remote:path/to/files /path/to/local/mount
3254
3255       On  Windows you can start a mount in different ways.  See below for de‐
3256       tails.  If foreground mount is used interactively from a  console  win‐
3257       dow, rclone will serve the mount and occupy the console so another win‐
3258       dow should be used to work with the mount until rclone  is  interrupted
3259       e.g.  by pressing Ctrl-C.
3260
3261       The  following  examples will mount to an automatically assigned drive,
3262       to specific drive letter X:, to path C:\path\parent\mount (where parent
3263       directory  or  drive  must  exist, and mount must not exist, and is not
3264       supported when mounting as a network drive), and the last example  will
3265       mount  as  network  share \\cloud\remote and map it to an automatically
3266       assigned drive:
3267
3268              rclone mount remote:path/to/files *
3269              rclone mount remote:path/to/files X:
3270              rclone mount remote:path/to/files C:\path\parent\mount
3271              rclone mount remote:path/to/files \\cloud\remote
3272
3273       When the program ends while in foreground mode, either  via  Ctrl+C  or
3274       receiving a SIGINT or SIGTERM signal, the mount should be automatically
3275       stopped.
3276
3277       When running in background mode the user will have to  stop  the  mount
3278       manually:
3279
3280              # Linux
3281              fusermount -u /path/to/local/mount
3282              # OS X
3283              umount /path/to/local/mount
3284
3285       The umount operation can fail, for example when the mountpoint is busy.
3286       When that happens, it is the user's responsibility to  stop  the  mount
3287       manually.
3288
3289       The  size  of the mounted file system will be set according to informa‐
3290       tion retrieved from the remote, the same  as  returned  by  the  rclone
3291       about   (https://rclone.org/commands/rclone_about/)  command.   Remotes
3292       with unlimited storage may report the used size only, then an addition‐
3293       al  1  PiB  of  free  space is assumed.  If the remote does not support
3294       (https://rclone.org/overview/#optional-features) the about  feature  at
3295       all, then 1 PiB is set as both the total and the free size.
3296
3297   Installing on Windows
3298       To  run  rclone mount on Windows, you will need to download and install
3299       WinFsp (http://www.secfs.net/winfsp/).
3300
3301       WinFsp (https://github.com/billziss-gh/winfsp) is an open  source  Win‐
3302       dows  File  System  Proxy  which makes it easy to write user space file
3303       systems for Windows.  It provides a FUSE emulation layer  which  rclone
3304       uses combination with cgofuse (https://github.com/billziss-gh/cgofuse).
3305       Both of these packages are by Bill Zissimopoulos who was  very  helpful
3306       during the implementation of rclone mount for Windows.
3307
3308   Mounting modes on windows
3309       Unlike  other operating systems, Microsoft Windows provides a different
3310       filesystem type for network and fixed drives.  It optimises  access  on
3311       the  assumption  fixed disk drives are fast and reliable, while network
3312       drives have relatively high latency and less  reliability.   Some  set‐
3313       tings  can  also  be  differentiated between the two types, for example
3314       that Windows Explorer should just display icons and not create  preview
3315       thumbnails for image and video files on network drives.
3316
3317       In  most  cases,  rclone  will mount the remote as a normal, fixed disk
3318       drive by default.  However, you can also choose to mount it as a remote
3319       network  drive,  often  described  as a network share.  If you mount an
3320       rclone remote using the default, fixed drive mode and experience  unex‐
3321       pected  program errors, freezes or other issues, consider mounting as a
3322       network drive instead.
3323
3324       When mounting as a fixed disk drive you can either mount to  an  unused
3325       drive  letter, or to a path representing a non-existent subdirectory of
3326       an existing parent directory or drive.  Using the special value *  will
3327       tell  rclone  to  automatically assign the next available drive letter,
3328       starting with Z: and moving backward.  Examples:
3329
3330              rclone mount remote:path/to/files *
3331              rclone mount remote:path/to/files X:
3332              rclone mount remote:path/to/files C:\path\parent\mount
3333              rclone mount remote:path/to/files X:
3334
3335       Option --volname can be used to set a custom volume name for the mount‐
3336       ed file system.  The default is to use the remote name and path.
3337
3338       To  mount  as  network drive, you can add option --network-mode to your
3339       mount command.  Mounting to a directory path is not supported  in  this
3340       mode,  it  is  a limitation Windows imposes on junctions, so the remote
3341       must always be mounted to a drive letter.
3342
3343              rclone mount remote:path/to/files X: --network-mode
3344
3345       A volume name specified with --volname will be used to create the  net‐
3346       work  share path.  A complete UNC path, such as \\cloud\remote, option‐
3347       ally with path \\cloud\remote\madeup\path, will be  used  as  is.   Any
3348       other  string  will  be  used as the share part, after a default prefix
3349       \\server\.  If no volume name is specified then \\server\share will  be
3350       used.  You must make sure the volume name is unique when you are mount‐
3351       ing more than one drive, or else the  mount  command  will  fail.   The
3352       share name will treated as the volume label for the mapped drive, shown
3353       in Windows Explorer etc, while the complete \\server\share will be  re‐
3354       ported  as  the remote UNC path by net use etc, just like a normal net‐
3355       work drive mapping.
3356
3357       If you specify a full network share UNC path with --volname, this  will
3358       implicitely  set  the --network-mode option, so the following two exam‐
3359       ples have same result:
3360
3361              rclone mount remote:path/to/files X: --network-mode
3362              rclone mount remote:path/to/files X: --volname \\server\share
3363
3364       You may also specify the network share UNC path as the  mountpoint  it‐
3365       self.   Then  rclone  will automatically assign a drive letter, same as
3366       with * and use that as mountpoint, and instead use the UNC path  speci‐
3367       fied as the volume name, as if it were specified with the --volname op‐
3368       tion.  This will also implicitely set the --network-mode option.   This
3369       means the following two examples have same result:
3370
3371              rclone mount remote:path/to/files \\cloud\remote
3372              rclone mount remote:path/to/files * --volname \\cloud\remote
3373
3374       There  is  yet another way to enable network mode, and to set the share
3375       path, and that is to pass the "native" libfuse/WinFsp option  directly:
3376       --fuse-flag  --VolumePrefix=\server\share.   Note that the path must be
3377       with just a single backslash prefix in this case.
3378
3379       Note: In previous versions of rclone this was the only supported  meth‐
3380       od.
3381
3382       Read more about drive mapping (https://en.wikipedia.org/wiki/Drive_map
3383       ping)
3384
3385       See also Limitations section below.
3386
3387   Windows filesystem permissions
3388       The  FUSE  emulation  layer  on  Windows  must  convert   between   the
3389       POSIX-based  permission  model  used  in FUSE, and the permission model
3390       used in Windows, based on access-control lists (ACL).
3391
3392       The mounted filesystem will normally  get  three  entries  in  its  ac‐
3393       cess-control list (ACL), representing permissions for the POSIX permis‐
3394       sion scopes: Owner, group and others.  By default, the owner and  group
3395       will  be taken from the current user, and the built-in group "Everyone"
3396       will be used to represent others.  The  user/group  can  be  customized
3397       with FUSE options "UserName" and "GroupName", e.g.  -o UserName=user123
3398       -o GroupName="Authenticated Users".  The permissions on each entry will
3399       be set according to options --dir-perms and --file-perms, which takes a
3400       value in  traditional  numeric  notation  (https://en.wikipedia.org/wi
3401       ki/File-system_permissions#Numeric_notation).
3402
3403       The  default  permissions  corresponds to --file-perms 0666 --dir-perms
3404       0777, i.e.  read and write permissions to  everyone.   This  means  you
3405       will  not be able to start any programs from the the mount.  To be able
3406       to do that you must add execute permissions,  e.g.   --file-perms  0777
3407       --dir-perms  0777 to add it to everyone.  If the program needs to write
3408       files, chances are you will have to enable VFS  File  Caching  as  well
3409       (see also limitations).
3410
3411       Note that the mapping of permissions is not always trivial, and the re‐
3412       sult you see in Windows Explorer may not be exactly like you  expected.
3413       For example, when setting a value that includes write access, this will
3414       be mapped to individual permissions "write  attributes",  "write  data"
3415       and  "append  data", but not "write extended attributes".  Windows will
3416       then show this as basic permission "Special" instead  of  "Write",  be‐
3417       cause "Write" includes the "write extended attributes" permission.
3418
3419       If you set POSIX permissions for only allowing access to the owner, us‐
3420       ing --file-perms 0600 --dir-perms 0700, the user group and the built-in
3421       "Everyone"  group will still be given some special permissions, such as
3422       "read attributes" and "read permissions", in Windows.  This is done for
3423       compatibility  reasons, e.g.  to allow users without additional permis‐
3424       sions to be able to read basic metadata about files like in UNIX.   One
3425       case  that  may  arise  is that other programs (incorrectly) interprets
3426       this as the file being accessible by  everyone.   For  example  an  SSH
3427       client may warn about "unprotected private key file".
3428
3429       WinFsp  2021 (version 1.9) introduces a new FUSE option "FileSecurity",
3430       that allows the complete specification of file security descriptors us‐
3431       ing SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/secu
3432       rity-descriptor-string-format).  With this you can work  around  issues
3433       such  as  the mentioned "unprotected private key file" by specifying -o
3434       FileSecurity="D:P(A;;FA;;;OW)", for file all access (FA) to  the  owner
3435       (OW).
3436
3437   Windows caveats
3438       Drives  created as Administrator are not visible to other accounts, not
3439       even an account that was elevated to Administrator with  the  User  Ac‐
3440       count  Control (UAC) feature.  A result of this is that if you mount to
3441       a drive letter from a Command Prompt run as Administrator, and then try
3442       to  access  the same drive from Windows Explorer (which does not run as
3443       Administrator), you will not be able to see the mounted drive.
3444
3445       If you don't need to access the drive from  applications  running  with
3446       administrative  privileges,  the  easiest  way around this is to always
3447       create the mount from a non-elevated command prompt.
3448
3449       To make mapped drives available to the user account that  created  them
3450       regardless  if  elevated  or  not,  there  is a special Windows setting
3451       called   linked   connections   (https://docs.microsoft.com/en-us/trou
3452       bleshoot/windows-client/networking/mapped-drives-not-available-from-el‐
3453       evated-command#detail-to-configure-the-enablelinkedconnections-reg‐
3454       istry-entry) that can be enabled.
3455
3456       It  is also possible to make a drive mount available to everyone on the
3457       system, by running the process creating it as the built-in  SYSTEM  ac‐
3458       count.   There  are  several  ways  to  do this: One is to use the com‐
3459       mand-line  utility  PsExec  (https://docs.microsoft.com/en-us/sysinter
3460       nals/downloads/psexec),  from Microsoft's Sysinternals suite, which has
3461       option -s to start processes as the SYSTEM account.   Another  alterna‐
3462       tive  is  to  run the mount command from a Windows Scheduled Task, or a
3463       Windows Service, configured to run as the SYSTEM account.  A third  al‐
3464       ternative    is    to    use    the    WinFsp.Launcher   infrastructure
3465       (https://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architec
3466       ture)).  Note that when running rclone as another user, it will not use
3467       the configuration file from your profile unless you tell it to with the
3468       --config  (https://rclone.org/docs/#config-config-file)  option.   Read
3469       more in the install documentation (https://rclone.org/install/).
3470
3471       Note that mapping to a directory path, instead of a drive letter,  does
3472       not suffer from the same limitations.
3473
3474   Limitations
3475       Without  the  use of --vfs-cache-mode this can only write files sequen‐
3476       tially, it can only seek when reading.  This means that  many  applica‐
3477       tions   won't  work  with  their  files  on  an  rclone  mount  without
3478       --vfs-cache-mode writes or --vfs-cache-mode full.   See  the  VFS  File
3479       Caching section for more info.
3480
3481       The  bucket based remotes (e.g.  Swift, S3, Google Compute Storage, B2,
3482       Hubic) do not support the concept of empty directories, so empty direc‐
3483       tories  will have a tendency to disappear once they fall out of the di‐
3484       rectory cache.
3485
3486       When rclone mount is invoked on  Unix  with  --daemon  flag,  the  main
3487       rclone  program  will  wait for the background mount to become ready or
3488       until the timeout specified by the --daemon-wait flag.  On Linux it can
3489       check  mount  status using ProcFS so the flag in fact sets maximum time
3490       to wait, while the real wait can be less.  On macOS / BSD the  time  to
3491       wait is constant and the check is performed only at the end.  We advise
3492       you to set wait time on macOS reasonably.
3493
3494       Only supported on Linux, FreeBSD, OS X and Windows at the moment.
3495
3496   rclone mount vs rclone sync/copy
3497       File systems expect things to be 100% reliable, whereas  cloud  storage
3498       systems  are  a long way from 100% reliable.  The rclone sync/copy com‐
3499       mands cope with this with lots of retries.  However rclone mount  can't
3500       use retries in the same way without making local copies of the uploads.
3501       Look at the VFS File Caching for solutions to make mount more reliable.
3502
3503   Attribute caching
3504       You can use the flag --attr-timeout to set the time the  kernel  caches
3505       the attributes (size, modification time, etc.) for directory entries.
3506
3507       The default is 1s which caches files just long enough to avoid too many
3508       callbacks to rclone from the kernel.
3509
3510       In theory 0s should be the correct  value  for  filesystems  which  can
3511       change  outside the control of the kernel.  However this causes quite a
3512       few   problems   such    as    rclone    using    too    much    memory
3513       (https://github.com/rclone/rclone/issues/2157),   rclone   not  serving
3514       files to  samba  (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-
3515       issue/5112)      and     excessive     time     listing     directories
3516       (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
3517
3518       The kernel can cache the info about a file for the time given by  --at‐
3519       tr-timeout.   You  may see corruption if the remote file changes length
3520       during this window.  It will show up as either a truncated  file  or  a
3521       file  with garbage on the end.  With --attr-timeout 1s this is very un‐
3522       likely but not impossible.  The higher you set --attr-timeout the  more
3523       likely  it is.  The default setting of "1s" is the lowest setting which
3524       mitigates the problems above.
3525
3526       If you set it higher (10s or 1m say) then the kernel will call back  to
3527       rclone  less  often  making  it  more  efficient, however there is more
3528       chance of the corruption issue above.
3529
3530       If files don't change on the remote outside of the  control  of  rclone
3531       then there is no chance of corruption.
3532
3533       This is the same as setting the attr_timeout option in mount.fuse.
3534
3535   Filters
3536       Note  that all the rclone filters can be used to select a subset of the
3537       files to be visible in the mount.
3538
3539   systemd
3540       When running rclone mount as a systemd service, it is possible  to  use
3541       Type=notify.  In this case the service will enter the started state af‐
3542       ter the mountpoint has been successfully  set  up.   Units  having  the
3543       rclone  mount service specified as a requirement will see all files and
3544       folders immediately in this mode.
3545
3546       Note that systemd runs mount units without  any  environment  variables
3547       including  PATH  or HOME.  This means that tilde (~) expansion will not
3548       work and you should provide --config and --cache-dir explicitly as  ab‐
3549       solute  paths via rclone arguments.  Since mounting requires the fuser‐
3550       mount program, rclone will use the fallback PATH  of  /bin:/usr/bin  in
3551       this scenario.  Please ensure that fusermount is present on this PATH.
3552
3553   Rclone as Unix mount helper
3554       The  core Unix program /bin/mount normally takes the -t FSTYPE argument
3555       then runs the /sbin/mount.FSTYPE helper program passing  it  mount  op‐
3556       tions  as  -o key=val,... or --opt=....  Automount (classic or systemd)
3557       behaves in a similar way.
3558
3559       rclone by default expects GNU-style flags --key val.  To run  it  as  a
3560       mount helper you should symlink rclone binary to /sbin/mount.rclone and
3561       optionally   /usr/bin/rclonefs,    e.g.     ln    -s    /usr/bin/rclone
3562       /sbin/mount.rclone.   rclone  will detect it and translate command-line
3563       arguments appropriately.
3564
3565       Now you can run classic mounts like this:
3566
3567              mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
3568
3569       or create systemd mount units:
3570
3571              # /etc/systemd/system/mnt-data.mount
3572              [Unit]
3573              After=network-online.target
3574              [Mount]
3575              Type=rclone
3576              What=sftp1:subdir
3577              Where=/mnt/data
3578              Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
3579
3580       optionally accompanied by systemd automount unit
3581
3582              # /etc/systemd/system/mnt-data.automount
3583              [Unit]
3584              After=network-online.target
3585              Before=remote-fs.target
3586              [Automount]
3587              Where=/mnt/data
3588              TimeoutIdleSec=600
3589              [Install]
3590              WantedBy=multi-user.target
3591
3592       or add in /etc/fstab a line like
3593
3594              sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0
3595
3596       or  use  classic  Automountd.   Remember  to  provide   explicit   con‐
3597       fig=...,cache-dir=... as a workaround for mount units being run without
3598       HOME.
3599
3600       Rclone in the mount helper mode will split -o argument(s) by comma, re‐
3601       place  _  by  -  and prepend -- to get the command-line flags.  Options
3602       containing commas or spaces can be wrapped in single or double  quotes.
3603       Any  inner  quotes  inside outer quotes of the same type should be dou‐
3604       bled.
3605
3606       Mount option syntax includes a few extra options treated specially:
3607
3608       • env.NAME=VALUE  will  set  an  environment  variable  for  the  mount
3609         process.   This  helps  with Automountd and Systemd.mount which don't
3610         allow setting custom environment for mount  helpers.   Typically  you
3611         will use env.HTTPS_PROXY=proxy.host:3128 or env.HOME=/root
3612
3613       • command=cmount  can be used to run cmount or any other rclone command
3614         rather than the default mount.
3615
3616       • args2env will pass mount options to the mount helper running in back‐
3617         ground  via  environment variables instead of command line arguments.
3618         This allows to hide secrets from such commands as ps or pgrep.
3619
3620       • vv... will be transformed into appropriate --verbose=N
3621
3622       • standard mount options like x-systemd.automount, _netdev, nosuid  and
3623         alike are intended only for Automountd and ignored by rclone.
3624
3625   VFS - Virtual File System
3626       This command uses the VFS layer.  This adapts the cloud storage objects
3627       that rclone uses into something which looks much more like a disk  fil‐
3628       ing system.
3629
3630       Cloud  storage  objects  have lots of properties which aren't like disk
3631       files - you can't extend them or write to the middle of  them,  so  the
3632       VFS  layer has to deal with that.  Because there is no one right way of
3633       doing this there are various options explained below.
3634
3635       The VFS layer also implements a directory  cache  -  this  caches  info
3636       about files and directories (but not the data) in memory.
3637
3638   VFS Directory Cache
3639       Using  the  --dir-cache-time flag, you can control how long a directory
3640       should be considered up to date and not  refreshed  from  the  backend.
3641       Changes  made  through  the mount will appear immediately or invalidate
3642       the cache.
3643
3644              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
3645              --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)
3646
3647       However, changes made directly on the cloud storage by the  web  inter‐
3648       face  or a different copy of rclone will only be picked up once the di‐
3649       rectory cache expires  if  the  backend  configured  does  not  support
3650       polling  for changes.  If the backend supports polling, changes will be
3651       picked up within the polling interval.
3652
3653       You can send a SIGHUP signal to rclone for it to  flush  all  directory
3654       caches,  regardless  of how old they are.  Assuming only one rclone in‐
3655       stance is running, you can reset the cache like this:
3656
3657              kill -SIGHUP $(pidof rclone)
3658
3659       If you configure rclone with a remote control (/rc) then  you  can  use
3660       rclone rc to flush the whole directory cache:
3661
3662              rclone rc vfs/forget
3663
3664       Or individual files or directories:
3665
3666              rclone rc vfs/forget file=path/to/file dir=path/to/dir
3667
3668   VFS File Buffering
3669       The  --buffer-size  flag  determines the amount of memory, that will be
3670       used to buffer data in advance.
3671
3672       Each open file will try to keep the specified amount of data in  memory
3673       at all times.  The buffered data is bound to one open file and won't be
3674       shared.
3675
3676       This flag is a upper limit for the used memory per open file.  The buf‐
3677       fer  will  only  use memory for data that is downloaded but not not yet
3678       read.  If the buffer is empty, only a small amount of  memory  will  be
3679       used.
3680
3681       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
3682       fer-size * open files.
3683
3684   VFS File Caching
3685       These flags control the VFS file caching options.  File caching is nec‐
3686       essary  to make the VFS layer appear compatible with a normal file sys‐
3687       tem.  It can be disabled at the cost of some compatibility.
3688
3689       For example you'll need to enable VFS caching if you want to  read  and
3690       write simultaneously to a file.  See below for more details.
3691
3692       Note  that the VFS cache is separate from the cache backend and you may
3693       find that you need one or the other or both.
3694
3695              --cache-dir string                   Directory rclone will use for caching.
3696              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
3697              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
3698              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
3699              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
3700              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
3701
3702       If run with -vv rclone will print the location of the file cache.   The
3703       files  are stored in the user cache file area which is OS dependent but
3704       can be controlled with --cache-dir or setting the appropriate  environ‐
3705       ment variable.
3706
3707       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
3708       higher the cache mode the more compatible rclone becomes at the cost of
3709       using disk space.
3710
3711       Note  that  files  are  written  back  to the remote only when they are
3712       closed and if they haven't been accessed for --vfs-write-back  seconds.
3713       If  rclone is quit or dies with files that haven't been uploaded, these
3714       will be uploaded next time rclone is run with the same flags.
3715
3716       If using --vfs-cache-max-size note that the cache may exceed this  size
3717       for   two   reasons.    Firstly   because  it  is  only  checked  every
3718       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
3719       evicted from the cache.
3720
3721       You  should  not run two copies of rclone using the same VFS cache with
3722       the same or overlapping remotes if using --vfs-cache-mode > off.   This
3723       can  potentially  cause data corruption if you do.  You can work around
3724       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
3725       You don't need to worry about this if the remotes in use don't overlap.
3726
3727   --vfs-cache-mode off
3728       In this mode (the default) the cache will read directly from the remote
3729       and write directly to the remote without caching anything on disk.
3730
3731       This will mean some operations are not possible
3732
3733       • Files can't be opened for both read AND write
3734
3735       • Files opened for write can't be seeked
3736
3737       • Existing files opened for write must have O_TRUNC set
3738
3739       • Files open for read with O_TRUNC will be opened write only
3740
3741       • Files open for write only will behave as if O_TRUNC was supplied
3742
3743       • Open modes O_APPEND, O_TRUNC are ignored
3744
3745       • If an upload fails it can't be retried
3746
3747   --vfs-cache-mode minimal
3748       This is very similar to "off" except that files  opened  for  read  AND
3749       write will be buffered to disk.  This means that files opened for write
3750       will be a lot more compatible, but uses the minimal disk space.
3751
3752       These operations are not possible
3753
3754       • Files opened for write only can't be seeked
3755
3756       • Existing files opened for write must have O_TRUNC set
3757
3758       • Files opened for write only will ignore O_APPEND, O_TRUNC
3759
3760       • If an upload fails it can't be retried
3761
3762   --vfs-cache-mode writes
3763       In this mode files opened for read only are still  read  directly  from
3764       the remote, write only and read/write files are buffered to disk first.
3765
3766       This mode should support all normal file system operations.
3767
3768       If  an  upload fails it will be retried at exponentially increasing in‐
3769       tervals up to 1 minute.
3770
3771   --vfs-cache-mode full
3772       In this mode all reads and writes are buffered to and from disk.   When
3773       data is read from the remote this is buffered to disk as well.
3774
3775       In  this  mode  the  files in the cache will be sparse files and rclone
3776       will keep track of which bits of the files it has downloaded.
3777
3778       So if an application only reads the starts of each  file,  then  rclone
3779       will  only buffer the start of the file.  These files will appear to be
3780       their full size in the cache, but they will be sparse files  with  only
3781       the data that has been downloaded present in them.
3782
3783       This  mode should support all normal file system operations and is oth‐
3784       erwise identical to --vfs-cache-mode writes.
3785
3786       When   reading   a   file   rclone   will   read   --buffer-size   plus
3787       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
3788       whereas the --vfs-read-ahead is buffered on disk.
3789
3790       When using this mode it is recommended that --buffer-size  is  not  set
3791       too large and --vfs-read-ahead is set large if required.
3792
3793       IMPORTANT  not  all  file  systems support sparse files.  In particular
3794       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3795       ry  is  on  a filesystem which doesn't support sparse files and it will
3796       log an ERROR message if one is detected.
3797
3798   VFS Chunked Reading
3799       When rclone reads files from a remote it reads them  in  chunks.   This
3800       means that rather than requesting the whole file rclone reads the chunk
3801       specified.  This can reduce the used download quota for some remotes by
3802       requesting  only  chunks from the remote that are actually read, at the
3803       cost of an increased number of requests.
3804
3805       These flags control the chunking:
3806
3807              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
3808              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
3809
3810       Rclone will start reading a chunk of  size  --vfs-read-chunk-size,  and
3811       then  double  the size for each read.  When --vfs-read-chunk-size-limit
3812       is specified, and greater than --vfs-read-chunk-size,  the  chunk  size
3813       for  each  open file will get doubled only until the specified value is
3814       reached.  If the value is "off", which is the  default,  the  limit  is
3815       disabled and the chunk size will grow indefinitely.
3816
3817       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
3818       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
3819       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
3820       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
3821       1200M-1700M and so on.
3822
3823       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
3824
3825   VFS Performance
3826       These  flags may be used to enable/disable features of the VFS for per‐
3827       formance or other reasons.  See also the chunked reading feature.
3828
3829       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
3830       (or  use  --use-server-modtime for a slightly different effect) as each
3831       read of the modification time takes a transaction.
3832
3833              --no-checksum     Don't compare checksums on up/download.
3834              --no-modtime      Don't read/write the modification time (can speed things up).
3835              --no-seek         Don't allow seeking in files.
3836              --read-only       Mount read-only.
3837
3838       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
3839       than  seeking rclone will wait a short time for the in sequence read or
3840       write to come in.  These flags only come into effect when not using  an
3841       on disk cache file.
3842
3843              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
3844              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
3845
3846       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
3847       full), the global flag --transfers can be set to adjust the  number  of
3848       parallel  uploads of modified files from cache (the related global flag
3849       --checkers have no effect on mount).
3850
3851              --transfers int  Number of file transfers to run in parallel (default 4)
3852
3853   VFS Case Sensitivity
3854       Linux file systems are case-sensitive: two files  can  differ  only  by
3855       case, and the exact case must be used when opening a file.
3856
3857       File  systems  in modern Windows are case-insensitive but case-preserv‐
3858       ing: although existing files can be opened using any  case,  the  exact
3859       case used to create the file is preserved and available for programs to
3860       query.  It is not allowed for two files in the same directory to differ
3861       only by case.
3862
3863       Usually  file systems on macOS are case-insensitive.  It is possible to
3864       make macOS file systems case-sensitive but that is not the default.
3865
3866       The --vfs-case-insensitive mount flag controls how rclone handles these
3867       two  cases.   If  its value is "false", rclone passes file names to the
3868       mounted file system as-is.  If the flag is "true" (or appears without a
3869       value  on  command line), rclone may perform a "fixup" as explained be‐
3870       low.
3871
3872       The user may specify a file name to open/delete/rename/etc with a  case
3873       different  than  what is stored on mounted file system.  If an argument
3874       refers to an existing file with exactly the same name, then the case of
3875       the  existing  file  on the disk will be used.  However, if a file name
3876       with exactly the same name is not found but a name  differing  only  by
3877       case exists, rclone will transparently fixup the name.  This fixup hap‐
3878       pens only when an existing file is requested.  Case sensitivity of file
3879       names  created  anew  by  rclone is controlled by an underlying mounted
3880       file system.
3881
3882       Note that case sensitivity of the operating system running rclone  (the
3883       target)  may  differ  from case sensitivity of a file system mounted by
3884       rclone (the source).  The flag controls whether "fixup" is performed to
3885       satisfy the target.
3886
3887       If the flag is not provided on the command line, then its default value
3888       depends on the operating system where rclone runs:  "true"  on  Windows
3889       and macOS, "false" otherwise.  If the flag is provided without a value,
3890       then it is "true".
3891
3892   Alternate report of used bytes
3893       Some backends, most notably S3, do not report the amount of bytes used.
3894       If  you  need  this  information to be available when running df on the
3895       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
3896       flag set, instead of relying on the backend to report this information,
3897       rclone will scan the whole remote similar to rclone  size  and  compute
3898       the total used space itself.
3899
3900       WARNING. Contrary to rclone size, this flag ignores filters so that the
3901       result is accurate.  However, this is very  inefficient  and  may  cost
3902       lots  of API calls resulting in extra charges.  Use it as a last resort
3903       and only with caching.
3904
3905              rclone mount remote:path /path/to/mountpoint [flags]
3906
3907   Options
3908                    --allow-non-empty                        Allow mounting over a non-empty directory (not supported on Windows)
3909                    --allow-other                            Allow access to other users (not supported on Windows)
3910                    --allow-root                             Allow access to root user (not supported on Windows)
3911                    --async-read                             Use asynchronous reads (not supported on Windows) (default true)
3912                    --attr-timeout duration                  Time for which file/directory attributes are cached (default 1s)
3913                    --daemon                                 Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows)
3914                    --daemon-timeout duration                Time limit for rclone to respond to kernel (not supported on Windows)
3915                    --daemon-wait duration                   Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s)
3916                    --debug-fuse                             Debug the FUSE internals - needs -v
3917                    --default-permissions                    Makes kernel enforce access control based on the file mode (not supported on Windows)
3918                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
3919                    --dir-perms FileMode                     Directory permissions (default 0777)
3920                    --file-perms FileMode                    File permissions (default 0666)
3921                    --fuse-flag stringArray                  Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
3922                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
3923                -h, --help                                   help for mount
3924                    --max-read-ahead SizeSuffix              The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
3925                    --network-mode                           Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
3926                    --no-checksum                            Don't compare checksums on up/download
3927                    --no-modtime                             Don't read/write the modification time (can speed things up)
3928                    --no-seek                                Don't allow seeking in files
3929                    --noappledouble                          Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
3930                    --noapplexattr                           Ignore all "com.apple.*" extended attributes (supported on OSX only)
3931                -o, --option stringArray                     Option for libfuse/WinFsp (repeat if required)
3932                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
3933                    --read-only                              Mount read-only
3934                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
3935                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
3936                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
3937                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
3938                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
3939                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
3940                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
3941                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
3942                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
3943                    --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)
3944                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
3945                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
3946                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
3947                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
3948                    --volname string                         Set the volume name (supported on Windows and OSX only)
3949                    --write-back-cache                       Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
3950
3951       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3952       tions not listed here.
3953
3954   SEE ALSO
3955       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3956         commands, flags and backends.
3957

rclone moveto

3959       Move file or directory from source to dest.
3960
3961   Synopsis
3962       If source:path is a file or directory then it moves it to a file or di‐
3963       rectory named dest:path.
3964
3965       This  can  be used to rename files or upload single files to other than
3966       their existing name.  If the source is a directory then it acts exactly
3967       like the move command.
3968
3969       So
3970
3971              rclone moveto src dst
3972
3973       where  src and dst are rclone paths, either remote:path or /path/to/lo‐
3974       cal or C:.
3975
3976       This will:
3977
3978              if src is file
3979                  move it to dst, overwriting an existing file if it exists
3980              if src is directory
3981                  move it to dst, overwriting existing files if they exist
3982                  see move command for full details
3983
3984       This doesn't transfer files that are identical on src and dst,  testing
3985       by  size  and modification time or MD5SUM.  src will be deleted on suc‐
3986       cessful transfer.
3987
3988       Important: Since  this  can  cause  data  loss,  test  first  with  the
3989       --dry-run or the --interactive/-i flag.
3990
3991       Note: Use the -P/--progress flag to view real-time transfer statistics.
3992
3993              rclone moveto source:path dest:path [flags]
3994
3995   Options
3996                -h, --help   help for moveto
3997
3998       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3999       tions not listed here.
4000
4001   SEE ALSO
4002       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
4003         commands, flags and backends.
4004

rclone ncdu

4006       Explore a remote with a text based user interface.
4007
4008   Synopsis
4009       This  displays a text based user interface allowing the navigation of a
4010       remote.  It is most useful for answering the question - "What is  using
4011       all my disk space?".
4012
4013       To  make  the user interface it first scans the entire remote given and
4014       builds an in memory representation.  rclone ncdu  can  be  used  during
4015       this  scanning  phase  and  you  will  see it building up the directory
4016       structure as it goes along.
4017
4018       Here are the keys - press '?' to toggle the help on and off
4019
4020               ↑,↓ or k,j to Move
4021               →,l to enter
4022               ←,h to return
4023               c toggle counts
4024               g toggle graph
4025               a toggle average size in directory
4026               u toggle human-readable format
4027               n,s,C,A sort by name,size,count,average size
4028               d delete file/directory
4029               y copy current path to clipboard
4030               Y display current path
4031               ^L refresh screen
4032               ? to toggle help on and off
4033               q/ESC/c-C to quit
4034
4035       This an homage to the ncdu tool  (https://dev.yorhel.nl/ncdu)  but  for
4036       rclone  remotes.   It  is missing lots of features at the moment but is
4037       useful as it stands.
4038
4039       Note that it might take some time to delete big files/folders.  The  UI
4040       won't respond in the meantime since the deletion is done synchronously.
4041
4042              rclone ncdu remote:path [flags]
4043
4044   Options
4045                -h, --help   help for ncdu
4046
4047       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4048       tions not listed here.
4049
4050   SEE ALSO
4051       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
4052         commands, flags and backends.
4053

rclone obscure

4055       Obscure password for use in the rclone config file.
4056
4057   Synopsis
4058       In  the rclone config file, human readable passwords are obscured.  Ob‐
4059       scuring them is done by encrypting them and writing them out in base64.
4060       This  is  not  a secure way of encrypting these passwords as rclone can
4061       decrypt them - it is to prevent "eyedropping" - namely someone seeing a
4062       password in the rclone config file by accident.
4063
4064       Many  equally important things (like access tokens) are not obscured in
4065       the config file.  However it is very hard to shoulder surf a 64 charac‐
4066       ter hex token.
4067
4068       This command can also accept a password through STDIN instead of an ar‐
4069       gument by passing a hyphen as an argument.  This  will  use  the  first
4070       line of STDIN as the password not including the trailing newline.
4071
4072       echo "secretpassword" | rclone obscure -
4073
4074       If  there  is  no data on STDIN to read, rclone obscure will default to
4075       obfuscating the hyphen itself.
4076
4077       If you want to encrypt the config file then please use config file  en‐
4078       cryption  -  see rclone config (https://rclone.org/commands/rclone_con
4079       fig/) for more info.
4080
4081              rclone obscure password [flags]
4082
4083   Options
4084                -h, --help   help for obscure
4085
4086       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4087       tions not listed here.
4088
4089   SEE ALSO
4090       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
4091         commands, flags and backends.
4092

rclone rc

4094       Run a command against a running rclone.
4095
4096   Synopsis
4097       This runs a command against a running rclone.  Use the  --url  flag  to
4098       specify an non default URL to connect on.  This can be either a ":port"
4099       which is taken to mean "http://localhost:port" or a  "host:port"  which
4100       is taken to mean "http://host:port"
4101
4102       A username and password can be passed in with --user and --pass.
4103
4104       Note  that --rc-addr, --rc-user, --rc-pass will be read also for --url,
4105       --user, --pass.
4106
4107       Arguments should be passed in as parameter=value.
4108
4109       The result will be returned as a JSON object by default.
4110
4111       The --json parameter can be used to pass in a JSON blob as an input in‐
4112       stead  of key=value arguments.  This is the only way of passing in more
4113       complicated values.
4114
4115       The -o/--opt option can be used to set a key "opt" with key, value  op‐
4116       tions  in  the  form "-o key=value" or "-o key".  It can be repeated as
4117       many times as required.  This is useful for rc commands which take  the
4118       "opt" parameter which by convention is a dictionary of strings.
4119
4120              -o key=value -o key2
4121
4122       Will place this in the "opt" value
4123
4124              {"key":"value", "key2","")
4125
4126       The  -a/--arg option can be used to set strings in the "arg" value.  It
4127       can be repeated as many times as required.  This is useful for rc  com‐
4128       mands  which  take the "arg" parameter which by convention is a list of
4129       strings.
4130
4131              -a value -a value2
4132
4133       Will place this in the "arg" value
4134
4135              ["value", "value2"]
4136
4137       Use --loopback to connect to the rclone instance running  "rclone  rc".
4138       This  is  very  useful  for  testing  commands without having to run an
4139       rclone rc server, e.g.:
4140
4141              rclone rc --loopback operations/about fs=/
4142
4143       Use "rclone rc" to see a list of all possible commands.
4144
4145              rclone rc commands parameter [flags]
4146
4147   Options
4148                -a, --arg stringArray   Argument placed in the "arg" array
4149                -h, --help              help for rc
4150                    --json string       Input JSON - use instead of key=value args
4151                    --loopback          If set connect to this rclone instance not via HTTP
4152                    --no-output         If set, don't output the JSON result
4153                -o, --opt stringArray   Option in the form name=value or name placed in the "opt" array
4154                    --pass string       Password to use to connect to rclone remote control
4155                    --url string        URL to connect to rclone remote control (default "http://localhost:5572/")
4156                    --user string       Username to use to rclone remote control
4157
4158       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4159       tions not listed here.
4160
4161   SEE ALSO
4162       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
4163         commands, flags and backends.
4164

rclone rcat

4166       Copies standard input to file on remote.
4167
4168   Synopsis
4169       rclone rcat reads from standard input (stdin) and copies it to a single
4170       remote file.
4171
4172              echo "hello world" | rclone rcat remote:path/to/file
4173              ffmpeg - | rclone rcat remote:path/to/file
4174
4175       If the remote file already exists, it will be overwritten.
4176
4177       rcat  will try to upload small files in a single request, which is usu‐
4178       ally more efficient than the streaming/chunked upload endpoints,  which
4179       use multiple requests.  Exact behaviour depends on the remote.  What is
4180       considered a small file may be set  through  --streaming-upload-cutoff.
4181       Uploading  only  starts after the cutoff is reached or if the file ends
4182       before that.  The data must fit into RAM.  The cutoff needs to be small
4183       enough to adhere the limits of your remote, please see there.  General‐
4184       ly speaking, setting this cutoff too high will  decrease  your  perfor‐
4185       mance.
4186
4187       Use  the |--size| flag to preallocate the file in advance at the remote
4188       end and actually stream it, even  if  remote  backend  doesn't  support
4189       streaming.
4190
4191       |--size| should be the exact size of the input stream in bytes.  If the
4192       size of the stream is different in length to  the  |--size|  passed  in
4193       then the transfer will likely fail.
4194
4195       Note  that  the  upload can also not be retried because the data is not
4196       kept around until the upload succeeds.  If you need to transfer  a  lot
4197       of  data,  you're better off caching locally and then rclone move it to
4198       the destination.
4199
4200              rclone rcat remote:path [flags]
4201
4202   Options
4203                -h, --help       help for rcat
4204                    --size int   File size hint to preallocate (default -1)
4205
4206       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4207       tions not listed here.
4208
4209   SEE ALSO
4210       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
4211         commands, flags and backends.
4212

rclone rcd

4214       Run rclone listening to remote control commands only.
4215
4216   Synopsis
4217       This runs rclone so that it only listens to remote control commands.
4218
4219       This is useful if you are controlling rclone via the rc API.
4220
4221       If you pass in a path to a directory, rclone will serve that  directory
4222       for  GET  requests  on the URL passed in.  It will also open the URL in
4223       the browser when rclone is run.
4224
4225       See the rc documentation (https://rclone.org/rc/) for more info on  the
4226       rc flags.
4227
4228              rclone rcd <path to files to serve>* [flags]
4229
4230   Options
4231                -h, --help   help for rcd
4232
4233       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4234       tions not listed here.
4235
4236   SEE ALSO
4237       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
4238         commands, flags and backends.
4239

rclone rmdirs

4241       Remove empty directories under the path.
4242
4243   Synopsis
4244       This  recursively  removes any empty directories (including directories
4245       that only contain empty directories), that it  finds  under  the  path.
4246       The  root  path  itself will also be removed if it is empty, unless you
4247       supply the --leave-root flag.
4248
4249       Use command rmdir to delete just the empty directory given by path, not
4250       recurse.
4251
4252       This  is  useful  for  tidying up remotes that rclone has left a lot of
4253       empty directories in.  For example the delete command will delete files
4254       but leave the directory structure (unless used with option --rmdirs).
4255
4256       To delete a path and any objects in it, use purge command.
4257
4258              rclone rmdirs remote:path [flags]
4259
4260   Options
4261                -h, --help         help for rmdirs
4262                    --leave-root   Do not remove root directory if empty
4263
4264       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4265       tions not listed here.
4266
4267   SEE ALSO
4268       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
4269         commands, flags and backends.
4270

rclone selfupdate

4272       Update the rclone binary.
4273
4274   Synopsis
4275       This  command  downloads  the latest release of rclone and replaces the
4276       currently running binary.  The download is verified with a hashsum  and
4277       cryptographically signed signature.
4278
4279       If  used  without  flags  (or with implied --stable flag), this command
4280       will install the latest stable release.  However, some  issues  may  be
4281       fixed  (or  features  added)  only in the latest beta release.  In such
4282       cases you should run the command with the  --beta  flag,  i.e.   rclone
4283       selfupdate  --beta.  You can check in advance what version would be in‐
4284       stalled by adding the --check flag, then repeat the command without  it
4285       when you are satisfied.
4286
4287       Sometimes  the  rclone team may recommend you a concrete beta or stable
4288       rclone release to troubleshoot your issue or add a bleeding  edge  fea‐
4289       ture.   The  --version  VER flag, if given, will update to the concrete
4290       version instead of the latest one.  If you omit micro version from  VER
4291       (for example 1.53), the latest matching micro version will be used.
4292
4293       Upon successful update rclone will print a message that contains a pre‐
4294       vious version number.  You will need it if you later decide  to  revert
4295       your  update  for  some  reason.  Then you'll have to note the previous
4296       version and run the following command: rclone selfupdate [--beta]  OLD‐
4297       VER.   If  the  old  version contains only dots and digits (for example
4298       v1.54.0) then it's a stable release so you won't need the --beta  flag.
4299       Beta  releases  have  an  additional information similar to v1.54.0-be‐
4300       ta.5111.06f1c0c61.  (if you are a developer and  use  a  locally  built
4301       rclone, the version number will end with -DEV, you will have to rebuild
4302       it as it obviously can't be distributed).
4303
4304       If you previously installed rclone via a package manager,  the  package
4305       may include local documentation or configure services.  You may wish to
4306       update with the flag --package deb or --package rpm (whichever is  cor‐
4307       rect  for  your OS) to update these too.  This command with the default
4308       --package zip will update only the rclone executable so the local manu‐
4309       al may become inaccurate after it.
4310
4311       The  rclone  mount  command (https://rclone.org/commands/rclone_mount/)
4312       may or may not support extended FUSE options depending on the build and
4313       OS.   selfupdate  will refuse to update if the capability would be dis‐
4314       carded.
4315
4316       Note: Windows forbids deletion of a  currently  running  executable  so
4317       this  command  will  rename the old executable to 'rclone.old.exe' upon
4318       success.
4319
4320       Please note that this command was not available before  rclone  version
4321       1.55.   If  it  fails for you with the message unknown command "selfup‐
4322       date" then you will need to update manually following the  install  in‐
4323       structions located at https://rclone.org/install/
4324
4325              rclone selfupdate [flags]
4326
4327   Options
4328                    --beta             Install beta release
4329                    --check            Check for latest release, do not download
4330                -h, --help             help for selfupdate
4331                    --output string    Save the downloaded binary at a given path (default: replace running binary)
4332                    --package string   Package format: zip|deb|rpm (default: zip)
4333                    --stable           Install stable release (this is the default)
4334                    --version string   Install the given rclone version (default: latest)
4335
4336       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4337       tions not listed here.
4338
4339   SEE ALSO
4340       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
4341         commands, flags and backends.
4342

rclone serve

4344       Serve a remote over a protocol.
4345
4346   Synopsis
4347       rclone  serve  is  used  to serve a remote over a given protocol.  This
4348       command requires the use of a subcommand to specify the protocol, e.g.
4349
4350              rclone serve http remote:
4351
4352       Each subcommand has its own options which you can see in their help.
4353
4354              rclone serve <protocol> [opts] <remote> [flags]
4355
4356   Options
4357                -h, --help   help for serve
4358
4359       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4360       tions not listed here.
4361
4362   SEE ALSO
4363       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
4364         commands, flags and backends.
4365
4366       • rclone serve dlna (https://rclone.org/commands/rclone_serve_dlna/)  -
4367         Serve remote:path over DLNA
4368
4369       • rclone  serve  docker (https://rclone.org/commands/rclone_serve_dock
4370         er/) - Serve any remote on docker's volume plugin API.
4371
4372       • rclone serve  ftp  (https://rclone.org/commands/rclone_serve_ftp/)  -
4373         Serve remote:path over FTP.
4374
4375       • rclone  serve http (https://rclone.org/commands/rclone_serve_http/) -
4376         Serve the remote over HTTP.
4377
4378       • rclone         serve         restic          (https://rclone.org/com
4379         mands/rclone_serve_restic/) - Serve the remote for restic's REST API.
4380
4381       • rclone  serve sftp (https://rclone.org/commands/rclone_serve_sftp/) -
4382         Serve the remote over SFTP.
4383
4384       • rclone  serve  webdav  (https://rclone.org/commands/rclone_serve_web
4385         dav/) - Serve remote:path over webdav.
4386

rclone serve dlna

4388       Serve remote:path over DLNA
4389
4390   Synopsis
4391       rclone  serve dlna is a DLNA media server for media stored in an rclone
4392       remote.  Many devices, such as the Xbox and PlayStation, can  automati‐
4393       cally  discover  this  server  in the LAN and play audio/video from it.
4394       VLC is also supported.  Service discovery uses  UDP  multicast  packets
4395       (SSDP) and will thus only work on LANs.
4396
4397       Rclone  will  list  all  files present in the remote, without filtering
4398       based on media formats or file extensions.  Additionally, there  is  no
4399       media  transcoding  support.   This  means that some players might show
4400       files that they are not able to play back correctly.
4401
4402   Server options
4403       Use --addr to specify which IP address and port the server should  lis‐
4404       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
4405
4406       Use  --name  to  choose  the  friendly server name, which is by default
4407       "rclone (hostname)".
4408
4409       Use --log-trace in conjunction with -vv to enable additional debug log‐
4410       ging of all UPNP traffic.
4411
4412   VFS - Virtual File System
4413       This command uses the VFS layer.  This adapts the cloud storage objects
4414       that rclone uses into something which looks much more like a disk  fil‐
4415       ing system.
4416
4417       Cloud  storage  objects  have lots of properties which aren't like disk
4418       files - you can't extend them or write to the middle of  them,  so  the
4419       VFS  layer has to deal with that.  Because there is no one right way of
4420       doing this there are various options explained below.
4421
4422       The VFS layer also implements a directory  cache  -  this  caches  info
4423       about files and directories (but not the data) in memory.
4424
4425   VFS Directory Cache
4426       Using  the  --dir-cache-time flag, you can control how long a directory
4427       should be considered up to date and not  refreshed  from  the  backend.
4428       Changes  made  through  the mount will appear immediately or invalidate
4429       the cache.
4430
4431              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
4432              --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)
4433
4434       However, changes made directly on the cloud storage by the  web  inter‐
4435       face  or a different copy of rclone will only be picked up once the di‐
4436       rectory cache expires  if  the  backend  configured  does  not  support
4437       polling  for changes.  If the backend supports polling, changes will be
4438       picked up within the polling interval.
4439
4440       You can send a SIGHUP signal to rclone for it to  flush  all  directory
4441       caches,  regardless  of how old they are.  Assuming only one rclone in‐
4442       stance is running, you can reset the cache like this:
4443
4444              kill -SIGHUP $(pidof rclone)
4445
4446       If you configure rclone with a remote control (/rc) then  you  can  use
4447       rclone rc to flush the whole directory cache:
4448
4449              rclone rc vfs/forget
4450
4451       Or individual files or directories:
4452
4453              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4454
4455   VFS File Buffering
4456       The  --buffer-size  flag  determines the amount of memory, that will be
4457       used to buffer data in advance.
4458
4459       Each open file will try to keep the specified amount of data in  memory
4460       at all times.  The buffered data is bound to one open file and won't be
4461       shared.
4462
4463       This flag is a upper limit for the used memory per open file.  The buf‐
4464       fer  will  only  use memory for data that is downloaded but not not yet
4465       read.  If the buffer is empty, only a small amount of  memory  will  be
4466       used.
4467
4468       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
4469       fer-size * open files.
4470
4471   VFS File Caching
4472       These flags control the VFS file caching options.  File caching is nec‐
4473       essary  to make the VFS layer appear compatible with a normal file sys‐
4474       tem.  It can be disabled at the cost of some compatibility.
4475
4476       For example you'll need to enable VFS caching if you want to  read  and
4477       write simultaneously to a file.  See below for more details.
4478
4479       Note  that the VFS cache is separate from the cache backend and you may
4480       find that you need one or the other or both.
4481
4482              --cache-dir string                   Directory rclone will use for caching.
4483              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4484              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
4485              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
4486              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
4487              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
4488
4489       If run with -vv rclone will print the location of the file cache.   The
4490       files  are stored in the user cache file area which is OS dependent but
4491       can be controlled with --cache-dir or setting the appropriate  environ‐
4492       ment variable.
4493
4494       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
4495       higher the cache mode the more compatible rclone becomes at the cost of
4496       using disk space.
4497
4498       Note  that  files  are  written  back  to the remote only when they are
4499       closed and if they haven't been accessed for --vfs-write-back  seconds.
4500       If  rclone is quit or dies with files that haven't been uploaded, these
4501       will be uploaded next time rclone is run with the same flags.
4502
4503       If using --vfs-cache-max-size note that the cache may exceed this  size
4504       for   two   reasons.    Firstly   because  it  is  only  checked  every
4505       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4506       evicted from the cache.
4507
4508       You  should  not run two copies of rclone using the same VFS cache with
4509       the same or overlapping remotes if using --vfs-cache-mode > off.   This
4510       can  potentially  cause data corruption if you do.  You can work around
4511       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
4512       You don't need to worry about this if the remotes in use don't overlap.
4513
4514   --vfs-cache-mode off
4515       In this mode (the default) the cache will read directly from the remote
4516       and write directly to the remote without caching anything on disk.
4517
4518       This will mean some operations are not possible
4519
4520       • Files can't be opened for both read AND write
4521
4522       • Files opened for write can't be seeked
4523
4524       • Existing files opened for write must have O_TRUNC set
4525
4526       • Files open for read with O_TRUNC will be opened write only
4527
4528       • Files open for write only will behave as if O_TRUNC was supplied
4529
4530       • Open modes O_APPEND, O_TRUNC are ignored
4531
4532       • If an upload fails it can't be retried
4533
4534   --vfs-cache-mode minimal
4535       This is very similar to "off" except that files  opened  for  read  AND
4536       write will be buffered to disk.  This means that files opened for write
4537       will be a lot more compatible, but uses the minimal disk space.
4538
4539       These operations are not possible
4540
4541       • Files opened for write only can't be seeked
4542
4543       • Existing files opened for write must have O_TRUNC set
4544
4545       • Files opened for write only will ignore O_APPEND, O_TRUNC
4546
4547       • If an upload fails it can't be retried
4548
4549   --vfs-cache-mode writes
4550       In this mode files opened for read only are still  read  directly  from
4551       the remote, write only and read/write files are buffered to disk first.
4552
4553       This mode should support all normal file system operations.
4554
4555       If  an  upload fails it will be retried at exponentially increasing in‐
4556       tervals up to 1 minute.
4557
4558   --vfs-cache-mode full
4559       In this mode all reads and writes are buffered to and from disk.   When
4560       data is read from the remote this is buffered to disk as well.
4561
4562       In  this  mode  the  files in the cache will be sparse files and rclone
4563       will keep track of which bits of the files it has downloaded.
4564
4565       So if an application only reads the starts of each  file,  then  rclone
4566       will  only buffer the start of the file.  These files will appear to be
4567       their full size in the cache, but they will be sparse files  with  only
4568       the data that has been downloaded present in them.
4569
4570       This  mode should support all normal file system operations and is oth‐
4571       erwise identical to --vfs-cache-mode writes.
4572
4573       When   reading   a   file   rclone   will   read   --buffer-size   plus
4574       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
4575       whereas the --vfs-read-ahead is buffered on disk.
4576
4577       When using this mode it is recommended that --buffer-size  is  not  set
4578       too large and --vfs-read-ahead is set large if required.
4579
4580       IMPORTANT  not  all  file  systems support sparse files.  In particular
4581       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4582       ry  is  on  a filesystem which doesn't support sparse files and it will
4583       log an ERROR message if one is detected.
4584
4585   VFS Chunked Reading
4586       When rclone reads files from a remote it reads them  in  chunks.   This
4587       means that rather than requesting the whole file rclone reads the chunk
4588       specified.  This can reduce the used download quota for some remotes by
4589       requesting  only  chunks from the remote that are actually read, at the
4590       cost of an increased number of requests.
4591
4592       These flags control the chunking:
4593
4594              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
4595              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
4596
4597       Rclone will start reading a chunk of  size  --vfs-read-chunk-size,  and
4598       then  double  the size for each read.  When --vfs-read-chunk-size-limit
4599       is specified, and greater than --vfs-read-chunk-size,  the  chunk  size
4600       for  each  open file will get doubled only until the specified value is
4601       reached.  If the value is "off", which is the  default,  the  limit  is
4602       disabled and the chunk size will grow indefinitely.
4603
4604       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
4605       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
4606       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
4607       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
4608       1200M-1700M and so on.
4609
4610       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
4611
4612   VFS Performance
4613       These  flags may be used to enable/disable features of the VFS for per‐
4614       formance or other reasons.  See also the chunked reading feature.
4615
4616       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
4617       (or  use  --use-server-modtime for a slightly different effect) as each
4618       read of the modification time takes a transaction.
4619
4620              --no-checksum     Don't compare checksums on up/download.
4621              --no-modtime      Don't read/write the modification time (can speed things up).
4622              --no-seek         Don't allow seeking in files.
4623              --read-only       Mount read-only.
4624
4625       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
4626       than  seeking rclone will wait a short time for the in sequence read or
4627       write to come in.  These flags only come into effect when not using  an
4628       on disk cache file.
4629
4630              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
4631              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
4632
4633       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
4634       full), the global flag --transfers can be set to adjust the  number  of
4635       parallel  uploads of modified files from cache (the related global flag
4636       --checkers have no effect on mount).
4637
4638              --transfers int  Number of file transfers to run in parallel (default 4)
4639
4640   VFS Case Sensitivity
4641       Linux file systems are case-sensitive: two files  can  differ  only  by
4642       case, and the exact case must be used when opening a file.
4643
4644       File  systems  in modern Windows are case-insensitive but case-preserv‐
4645       ing: although existing files can be opened using any  case,  the  exact
4646       case used to create the file is preserved and available for programs to
4647       query.  It is not allowed for two files in the same directory to differ
4648       only by case.
4649
4650       Usually  file systems on macOS are case-insensitive.  It is possible to
4651       make macOS file systems case-sensitive but that is not the default.
4652
4653       The --vfs-case-insensitive mount flag controls how rclone handles these
4654       two  cases.   If  its value is "false", rclone passes file names to the
4655       mounted file system as-is.  If the flag is "true" (or appears without a
4656       value  on  command line), rclone may perform a "fixup" as explained be‐
4657       low.
4658
4659       The user may specify a file name to open/delete/rename/etc with a  case
4660       different  than  what is stored on mounted file system.  If an argument
4661       refers to an existing file with exactly the same name, then the case of
4662       the  existing  file  on the disk will be used.  However, if a file name
4663       with exactly the same name is not found but a name  differing  only  by
4664       case exists, rclone will transparently fixup the name.  This fixup hap‐
4665       pens only when an existing file is requested.  Case sensitivity of file
4666       names  created  anew  by  rclone is controlled by an underlying mounted
4667       file system.
4668
4669       Note that case sensitivity of the operating system running rclone  (the
4670       target)  may  differ  from case sensitivity of a file system mounted by
4671       rclone (the source).  The flag controls whether "fixup" is performed to
4672       satisfy the target.
4673
4674       If the flag is not provided on the command line, then its default value
4675       depends on the operating system where rclone runs:  "true"  on  Windows
4676       and macOS, "false" otherwise.  If the flag is provided without a value,
4677       then it is "true".
4678
4679   Alternate report of used bytes
4680       Some backends, most notably S3, do not report the amount of bytes used.
4681       If  you  need  this  information to be available when running df on the
4682       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
4683       flag set, instead of relying on the backend to report this information,
4684       rclone will scan the whole remote similar to rclone  size  and  compute
4685       the total used space itself.
4686
4687       WARNING. Contrary to rclone size, this flag ignores filters so that the
4688       result is accurate.  However, this is very  inefficient  and  may  cost
4689       lots  of API calls resulting in extra charges.  Use it as a last resort
4690       and only with caching.
4691
4692              rclone serve dlna remote:path [flags]
4693
4694   Options
4695                    --addr string                            The ip:port or :port to bind the DLNA http server to (default ":7879")
4696                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
4697                    --dir-perms FileMode                     Directory permissions (default 0777)
4698                    --file-perms FileMode                    File permissions (default 0666)
4699                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
4700                -h, --help                                   help for dlna
4701                    --log-trace                              Enable trace logging of SOAP traffic
4702                    --name string                            Name of DLNA server
4703                    --no-checksum                            Don't compare checksums on up/download
4704                    --no-modtime                             Don't read/write the modification time (can speed things up)
4705                    --no-seek                                Don't allow seeking in files
4706                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
4707                    --read-only                              Mount read-only
4708                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
4709                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
4710                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
4711                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
4712                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
4713                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
4714                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
4715                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
4716                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
4717                    --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)
4718                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
4719                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
4720                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
4721                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
4722
4723       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4724       tions not listed here.
4725
4726   SEE ALSO
4727       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
4728         remote over a protocol.
4729

rclone serve docker

4731       Serve any remote on docker's volume plugin API.
4732
4733   Synopsis
4734       This command implements the Docker volume plugin API allowing docker to
4735       use  rclone  as  a  data storage mechanism for various cloud providers.
4736       rclone provides docker volume plugin (/docker) based on it.
4737
4738       To create a docker plugin, one must create a Unix or  TCP  socket  that
4739       Docker  will  look  for when you use the plugin and then it listens for
4740       commands from docker daemon and runs the corresponding code when neces‐
4741       sary.   Docker plugins can run as a managed plugin under control of the
4742       docker daemon or as an independent native service.   For  testing,  you
4743       can just run it directly from the command line, for example:
4744
4745              sudo rclone serve docker --base-dir /tmp/rclone-volumes --socket-addr localhost:8787 -vv
4746
4747       Running  rclone serve docker will create the said socket, listening for
4748       commands from Docker to create the  necessary  Volumes.   Normally  you
4749       need  not give the --socket-addr flag.  The API will listen on the unix
4750       domain socket at /run/docker/plugins/rclone.sock.  In the example above
4751       rclone  will  create  a  TCP  socket and a small file /etc/docker/plug‐
4752       ins/rclone.spec containing the socket address.   We  use  sudo  because
4753       both paths are writeable only by the root user.
4754
4755       If  you later decide to change listening socket, the docker daemon must
4756       be restarted to reconnect to /run/docker/plugins/rclone.sock  or  parse
4757       new /etc/docker/plugins/rclone.spec.  Until you restart, any volume re‐
4758       lated docker commands will timeout trying to  access  the  old  socket.
4759       Running  directly  is supported on Linux only, not on Windows or MacOS.
4760       This is not a problem with managed plugin mode described in details  in
4761       the full documentation (https://rclone.org/docker).
4762
4763       The  command  will  create  volume  mounts  under  the  path  given  by
4764       --base-dir (by default /var/lib/docker-volumes/rclone available only to
4765       root)  and  maintain the JSON formatted file docker-plugin.state in the
4766       rclone cache directory with book-keeping records of created and mounted
4767       volumes.
4768
4769       All  mount  and VFS options are submitted by the docker daemon via API,
4770       but you can also provide defaults on the command line as  well  as  set
4771       path  to the config file and cache directory or adjust logging verbosi‐
4772       ty.
4773
4774   VFS - Virtual File System
4775       This command uses the VFS layer.  This adapts the cloud storage objects
4776       that  rclone uses into something which looks much more like a disk fil‐
4777       ing system.
4778
4779       Cloud storage objects have lots of properties which  aren't  like  disk
4780       files  -  you  can't extend them or write to the middle of them, so the
4781       VFS layer has to deal with that.  Because there is no one right way  of
4782       doing this there are various options explained below.
4783
4784       The  VFS  layer  also  implements  a directory cache - this caches info
4785       about files and directories (but not the data) in memory.
4786
4787   VFS Directory Cache
4788       Using the --dir-cache-time flag, you can control how long  a  directory
4789       should  be  considered  up  to date and not refreshed from the backend.
4790       Changes made through the mount will appear  immediately  or  invalidate
4791       the cache.
4792
4793              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
4794              --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)
4795
4796       However,  changes  made directly on the cloud storage by the web inter‐
4797       face or a different copy of rclone will only be picked up once the  di‐
4798       rectory  cache  expires  if  the  backend  configured  does not support
4799       polling for changes.  If the backend supports polling, changes will  be
4800       picked up within the polling interval.
4801
4802       You  can  send  a SIGHUP signal to rclone for it to flush all directory
4803       caches, regardless of how old they are.  Assuming only one  rclone  in‐
4804       stance is running, you can reset the cache like this:
4805
4806              kill -SIGHUP $(pidof rclone)
4807
4808       If  you  configure  rclone with a remote control (/rc) then you can use
4809       rclone rc to flush the whole directory cache:
4810
4811              rclone rc vfs/forget
4812
4813       Or individual files or directories:
4814
4815              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4816
4817   VFS File Buffering
4818       The --buffer-size flag determines the amount of memory,  that  will  be
4819       used to buffer data in advance.
4820
4821       Each  open file will try to keep the specified amount of data in memory
4822       at all times.  The buffered data is bound to one open file and won't be
4823       shared.
4824
4825       This flag is a upper limit for the used memory per open file.  The buf‐
4826       fer will only use memory for data that is downloaded but  not  not  yet
4827       read.   If  the  buffer is empty, only a small amount of memory will be
4828       used.
4829
4830       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
4831       fer-size * open files.
4832
4833   VFS File Caching
4834       These flags control the VFS file caching options.  File caching is nec‐
4835       essary to make the VFS layer appear compatible with a normal file  sys‐
4836       tem.  It can be disabled at the cost of some compatibility.
4837
4838       For  example  you'll need to enable VFS caching if you want to read and
4839       write simultaneously to a file.  See below for more details.
4840
4841       Note that the VFS cache is separate from the cache backend and you  may
4842       find that you need one or the other or both.
4843
4844              --cache-dir string                   Directory rclone will use for caching.
4845              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4846              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
4847              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
4848              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
4849              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
4850
4851       If  run with -vv rclone will print the location of the file cache.  The
4852       files are stored in the user cache file area which is OS dependent  but
4853       can  be controlled with --cache-dir or setting the appropriate environ‐
4854       ment variable.
4855
4856       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
4857       higher the cache mode the more compatible rclone becomes at the cost of
4858       using disk space.
4859
4860       Note that files are written back to  the  remote  only  when  they  are
4861       closed  and if they haven't been accessed for --vfs-write-back seconds.
4862       If rclone is quit or dies with files that haven't been uploaded,  these
4863       will be uploaded next time rclone is run with the same flags.
4864
4865       If  using --vfs-cache-max-size note that the cache may exceed this size
4866       for  two  reasons.   Firstly  because  it   is   only   checked   every
4867       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4868       evicted from the cache.
4869
4870       You should not run two copies of rclone using the same VFS  cache  with
4871       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
4872       can potentially cause data corruption if you do.  You can  work  around
4873       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
4874       You don't need to worry about this if the remotes in use don't overlap.
4875
4876   --vfs-cache-mode off
4877       In this mode (the default) the cache will read directly from the remote
4878       and write directly to the remote without caching anything on disk.
4879
4880       This will mean some operations are not possible
4881
4882       • Files can't be opened for both read AND write
4883
4884       • Files opened for write can't be seeked
4885
4886       • Existing files opened for write must have O_TRUNC set
4887
4888       • Files open for read with O_TRUNC will be opened write only
4889
4890       • Files open for write only will behave as if O_TRUNC was supplied
4891
4892       • Open modes O_APPEND, O_TRUNC are ignored
4893
4894       • If an upload fails it can't be retried
4895
4896   --vfs-cache-mode minimal
4897       This  is  very  similar  to "off" except that files opened for read AND
4898       write will be buffered to disk.  This means that files opened for write
4899       will be a lot more compatible, but uses the minimal disk space.
4900
4901       These operations are not possible
4902
4903       • Files opened for write only can't be seeked
4904
4905       • Existing files opened for write must have O_TRUNC set
4906
4907       • Files opened for write only will ignore O_APPEND, O_TRUNC
4908
4909       • If an upload fails it can't be retried
4910
4911   --vfs-cache-mode writes
4912       In  this  mode  files opened for read only are still read directly from
4913       the remote, write only and read/write files are buffered to disk first.
4914
4915       This mode should support all normal file system operations.
4916
4917       If an upload fails it will be retried at exponentially  increasing  in‐
4918       tervals up to 1 minute.
4919
4920   --vfs-cache-mode full
4921       In  this mode all reads and writes are buffered to and from disk.  When
4922       data is read from the remote this is buffered to disk as well.
4923
4924       In this mode the files in the cache will be  sparse  files  and  rclone
4925       will keep track of which bits of the files it has downloaded.
4926
4927       So  if  an  application only reads the starts of each file, then rclone
4928       will only buffer the start of the file.  These files will appear to  be
4929       their  full  size in the cache, but they will be sparse files with only
4930       the data that has been downloaded present in them.
4931
4932       This mode should support all normal file system operations and is  oth‐
4933       erwise identical to --vfs-cache-mode writes.
4934
4935       When   reading   a   file   rclone   will   read   --buffer-size   plus
4936       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
4937       whereas the --vfs-read-ahead is buffered on disk.
4938
4939       When  using  this  mode it is recommended that --buffer-size is not set
4940       too large and --vfs-read-ahead is set large if required.
4941
4942       IMPORTANT not all file systems support  sparse  files.   In  particular
4943       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4944       ry is on a filesystem which doesn't support sparse files  and  it  will
4945       log an ERROR message if one is detected.
4946
4947   VFS Chunked Reading
4948       When  rclone  reads  files from a remote it reads them in chunks.  This
4949       means that rather than requesting the whole file rclone reads the chunk
4950       specified.  This can reduce the used download quota for some remotes by
4951       requesting only chunks from the remote that are actually read,  at  the
4952       cost of an increased number of requests.
4953
4954       These flags control the chunking:
4955
4956              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
4957              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
4958
4959       Rclone  will  start  reading a chunk of size --vfs-read-chunk-size, and
4960       then double the size for each read.   When  --vfs-read-chunk-size-limit
4961       is  specified,  and  greater than --vfs-read-chunk-size, the chunk size
4962       for each open file will get doubled only until the specified  value  is
4963       reached.   If  the  value  is "off", which is the default, the limit is
4964       disabled and the chunk size will grow indefinitely.
4965
4966       With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit  0  the
4967       following  parts  will  be  downloaded:  0-100M,  100M-200M, 200M-300M,
4968       300M-400M and so on.  When --vfs-read-chunk-size-limit 500M  is  speci‐
4969       fied,  the  result  would  be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
4970       1200M-1700M and so on.
4971
4972       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
4973
4974   VFS Performance
4975       These flags may be used to enable/disable features of the VFS for  per‐
4976       formance or other reasons.  See also the chunked reading feature.
4977
4978       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
4979       (or use --use-server-modtime for a slightly different effect)  as  each
4980       read of the modification time takes a transaction.
4981
4982              --no-checksum     Don't compare checksums on up/download.
4983              --no-modtime      Don't read/write the modification time (can speed things up).
4984              --no-seek         Don't allow seeking in files.
4985              --read-only       Mount read-only.
4986
4987       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
4988       than seeking rclone will wait a short time for the in sequence read  or
4989       write  to come in.  These flags only come into effect when not using an
4990       on disk cache file.
4991
4992              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
4993              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
4994
4995       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
4996       full),  the  global flag --transfers can be set to adjust the number of
4997       parallel uploads of modified files from cache (the related global  flag
4998       --checkers have no effect on mount).
4999
5000              --transfers int  Number of file transfers to run in parallel (default 4)
5001
5002   VFS Case Sensitivity
5003       Linux  file  systems  are  case-sensitive: two files can differ only by
5004       case, and the exact case must be used when opening a file.
5005
5006       File systems in modern Windows are case-insensitive  but  case-preserv‐
5007       ing:  although  existing  files can be opened using any case, the exact
5008       case used to create the file is preserved and available for programs to
5009       query.  It is not allowed for two files in the same directory to differ
5010       only by case.
5011
5012       Usually file systems on macOS are case-insensitive.  It is possible  to
5013       make macOS file systems case-sensitive but that is not the default.
5014
5015       The --vfs-case-insensitive mount flag controls how rclone handles these
5016       two cases.  If its value is "false", rclone passes file  names  to  the
5017       mounted file system as-is.  If the flag is "true" (or appears without a
5018       value on command line), rclone may perform a "fixup" as  explained  be‐
5019       low.
5020
5021       The  user may specify a file name to open/delete/rename/etc with a case
5022       different than what is stored on mounted file system.  If  an  argument
5023       refers to an existing file with exactly the same name, then the case of
5024       the existing file on the disk will be used.  However, if  a  file  name
5025       with  exactly  the  same name is not found but a name differing only by
5026       case exists, rclone will transparently fixup the name.  This fixup hap‐
5027       pens only when an existing file is requested.  Case sensitivity of file
5028       names created anew by rclone is controlled  by  an  underlying  mounted
5029       file system.
5030
5031       Note  that case sensitivity of the operating system running rclone (the
5032       target) may differ from case sensitivity of a file  system  mounted  by
5033       rclone (the source).  The flag controls whether "fixup" is performed to
5034       satisfy the target.
5035
5036       If the flag is not provided on the command line, then its default value
5037       depends  on  the  operating system where rclone runs: "true" on Windows
5038       and macOS, "false" otherwise.  If the flag is provided without a value,
5039       then it is "true".
5040
5041   Alternate report of used bytes
5042       Some backends, most notably S3, do not report the amount of bytes used.
5043       If you need this information to be available when  running  df  on  the
5044       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
5045       flag set, instead of relying on the backend to report this information,
5046       rclone  will  scan  the whole remote similar to rclone size and compute
5047       the total used space itself.
5048
5049       WARNING. Contrary to rclone size, this flag ignores filters so that the
5050       result  is  accurate.   However,  this is very inefficient and may cost
5051       lots of API calls resulting in extra charges.  Use it as a last  resort
5052       and only with caching.
5053
5054              rclone serve docker [flags]
5055
5056   Options
5057                    --allow-non-empty                        Allow mounting over a non-empty directory (not supported on Windows)
5058                    --allow-other                            Allow access to other users (not supported on Windows)
5059                    --allow-root                             Allow access to root user (not supported on Windows)
5060                    --async-read                             Use asynchronous reads (not supported on Windows) (default true)
5061                    --attr-timeout duration                  Time for which file/directory attributes are cached (default 1s)
5062                    --base-dir string                        Base directory for volumes (default "/var/lib/docker-volumes/rclone")
5063                    --daemon                                 Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows)
5064                    --daemon-timeout duration                Time limit for rclone to respond to kernel (not supported on Windows)
5065                    --daemon-wait duration                   Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s)
5066                    --debug-fuse                             Debug the FUSE internals - needs -v
5067                    --default-permissions                    Makes kernel enforce access control based on the file mode (not supported on Windows)
5068                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
5069                    --dir-perms FileMode                     Directory permissions (default 0777)
5070                    --file-perms FileMode                    File permissions (default 0666)
5071                    --forget-state                           Skip restoring previous state
5072                    --fuse-flag stringArray                  Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
5073                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
5074                -h, --help                                   help for docker
5075                    --max-read-ahead SizeSuffix              The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
5076                    --network-mode                           Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
5077                    --no-checksum                            Don't compare checksums on up/download
5078                    --no-modtime                             Don't read/write the modification time (can speed things up)
5079                    --no-seek                                Don't allow seeking in files
5080                    --no-spec                                Do not write spec file
5081                    --noappledouble                          Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
5082                    --noapplexattr                           Ignore all "com.apple.*" extended attributes (supported on OSX only)
5083                -o, --option stringArray                     Option for libfuse/WinFsp (repeat if required)
5084                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
5085                    --read-only                              Mount read-only
5086                    --socket-addr string                     Address <host:port> or absolute path (default: /run/docker/plugins/rclone.sock)
5087                    --socket-gid int                         GID for unix socket (default: current process GID) (default 1000)
5088                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
5089                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
5090                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
5091                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
5092                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5093                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
5094                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
5095                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
5096                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
5097                    --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)
5098                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
5099                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
5100                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
5101                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
5102                    --volname string                         Set the volume name (supported on Windows and OSX only)
5103                    --write-back-cache                       Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
5104
5105       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5106       tions not listed here.
5107
5108   SEE ALSO
5109       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
5110         remote over a protocol.
5111

rclone serve ftp

5113       Serve remote:path over FTP.
5114
5115   Synopsis
5116       rclone serve ftp implements a basic ftp server to serve the remote over
5117       FTP protocol.  This can be viewed with a ftp client or you can  make  a
5118       remote of type ftp to read and write it.
5119
5120   Server options
5121       Use  --addr to specify which IP address and port the server should lis‐
5122       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
5123       By  default  it  only listens on localhost.  You can use port :0 to let
5124       the OS choose an available port.
5125
5126       If you set --addr to listen on a public or LAN  accessible  IP  address
5127       then using Authentication is advised - see the next section for info.
5128
5129   Authentication
5130       By default this will serve files without needing a login.
5131
5132       You  can  set a single username and password with the --user and --pass
5133       flags.
5134
5135   VFS - Virtual File System
5136       This command uses the VFS layer.  This adapts the cloud storage objects
5137       that  rclone uses into something which looks much more like a disk fil‐
5138       ing system.
5139
5140       Cloud storage objects have lots of properties which  aren't  like  disk
5141       files  -  you  can't extend them or write to the middle of them, so the
5142       VFS layer has to deal with that.  Because there is no one right way  of
5143       doing this there are various options explained below.
5144
5145       The  VFS  layer  also  implements  a directory cache - this caches info
5146       about files and directories (but not the data) in memory.
5147
5148   VFS Directory Cache
5149       Using the --dir-cache-time flag, you can control how long  a  directory
5150       should  be  considered  up  to date and not refreshed from the backend.
5151       Changes made through the mount will appear  immediately  or  invalidate
5152       the cache.
5153
5154              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
5155              --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)
5156
5157       However,  changes  made directly on the cloud storage by the web inter‐
5158       face or a different copy of rclone will only be picked up once the  di‐
5159       rectory  cache  expires  if  the  backend  configured  does not support
5160       polling for changes.  If the backend supports polling, changes will  be
5161       picked up within the polling interval.
5162
5163       You  can  send  a SIGHUP signal to rclone for it to flush all directory
5164       caches, regardless of how old they are.  Assuming only one  rclone  in‐
5165       stance is running, you can reset the cache like this:
5166
5167              kill -SIGHUP $(pidof rclone)
5168
5169       If  you  configure  rclone with a remote control (/rc) then you can use
5170       rclone rc to flush the whole directory cache:
5171
5172              rclone rc vfs/forget
5173
5174       Or individual files or directories:
5175
5176              rclone rc vfs/forget file=path/to/file dir=path/to/dir
5177
5178   VFS File Buffering
5179       The --buffer-size flag determines the amount of memory,  that  will  be
5180       used to buffer data in advance.
5181
5182       Each  open file will try to keep the specified amount of data in memory
5183       at all times.  The buffered data is bound to one open file and won't be
5184       shared.
5185
5186       This flag is a upper limit for the used memory per open file.  The buf‐
5187       fer will only use memory for data that is downloaded but  not  not  yet
5188       read.   If  the  buffer is empty, only a small amount of memory will be
5189       used.
5190
5191       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
5192       fer-size * open files.
5193
5194   VFS File Caching
5195       These flags control the VFS file caching options.  File caching is nec‐
5196       essary to make the VFS layer appear compatible with a normal file  sys‐
5197       tem.  It can be disabled at the cost of some compatibility.
5198
5199       For  example  you'll need to enable VFS caching if you want to read and
5200       write simultaneously to a file.  See below for more details.
5201
5202       Note that the VFS cache is separate from the cache backend and you  may
5203       find that you need one or the other or both.
5204
5205              --cache-dir string                   Directory rclone will use for caching.
5206              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
5207              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
5208              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
5209              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
5210              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
5211
5212       If  run with -vv rclone will print the location of the file cache.  The
5213       files are stored in the user cache file area which is OS dependent  but
5214       can  be controlled with --cache-dir or setting the appropriate environ‐
5215       ment variable.
5216
5217       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
5218       higher the cache mode the more compatible rclone becomes at the cost of
5219       using disk space.
5220
5221       Note that files are written back to  the  remote  only  when  they  are
5222       closed  and if they haven't been accessed for --vfs-write-back seconds.
5223       If rclone is quit or dies with files that haven't been uploaded,  these
5224       will be uploaded next time rclone is run with the same flags.
5225
5226       If  using --vfs-cache-max-size note that the cache may exceed this size
5227       for  two  reasons.   Firstly  because  it   is   only   checked   every
5228       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
5229       evicted from the cache.
5230
5231       You should not run two copies of rclone using the same VFS  cache  with
5232       the  same or overlapping remotes if using --vfs-cache-mode > off.  This
5233       can potentially cause data corruption if you do.  You can  work  around
5234       this  by  giving  each rclone its own cache hierarchy with --cache-dir.
5235       You don't need to worry about this if the remotes in use don't overlap.
5236
5237   --vfs-cache-mode off
5238       In this mode (the default) the cache will read directly from the remote
5239       and write directly to the remote without caching anything on disk.
5240
5241       This will mean some operations are not possible
5242
5243       • Files can't be opened for both read AND write
5244
5245       • Files opened for write can't be seeked
5246
5247       • Existing files opened for write must have O_TRUNC set
5248
5249       • Files open for read with O_TRUNC will be opened write only
5250
5251       • Files open for write only will behave as if O_TRUNC was supplied
5252
5253       • Open modes O_APPEND, O_TRUNC are ignored
5254
5255       • If an upload fails it can't be retried
5256
5257   --vfs-cache-mode minimal
5258       This  is  very  similar  to "off" except that files opened for read AND
5259       write will be buffered to disk.  This means that files opened for write
5260       will be a lot more compatible, but uses the minimal disk space.
5261
5262       These operations are not possible
5263
5264       • Files opened for write only can't be seeked
5265
5266       • Existing files opened for write must have O_TRUNC set
5267
5268       • Files opened for write only will ignore O_APPEND, O_TRUNC
5269
5270       • If an upload fails it can't be retried
5271
5272   --vfs-cache-mode writes
5273       In  this  mode  files opened for read only are still read directly from
5274       the remote, write only and read/write files are buffered to disk first.
5275
5276       This mode should support all normal file system operations.
5277
5278       If an upload fails it will be retried at exponentially  increasing  in‐
5279       tervals up to 1 minute.
5280
5281   --vfs-cache-mode full
5282       In  this mode all reads and writes are buffered to and from disk.  When
5283       data is read from the remote this is buffered to disk as well.
5284
5285       In this mode the files in the cache will be  sparse  files  and  rclone
5286       will keep track of which bits of the files it has downloaded.
5287
5288       So  if  an  application only reads the starts of each file, then rclone
5289       will only buffer the start of the file.  These files will appear to  be
5290       their  full  size in the cache, but they will be sparse files with only
5291       the data that has been downloaded present in them.
5292
5293       This mode should support all normal file system operations and is  oth‐
5294       erwise identical to --vfs-cache-mode writes.
5295
5296       When   reading   a   file   rclone   will   read   --buffer-size   plus
5297       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
5298       whereas the --vfs-read-ahead is buffered on disk.
5299
5300       When  using  this  mode it is recommended that --buffer-size is not set
5301       too large and --vfs-read-ahead is set large if required.
5302
5303       IMPORTANT not all file systems support  sparse  files.   In  particular
5304       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
5305       ry is on a filesystem which doesn't support sparse files  and  it  will
5306       log an ERROR message if one is detected.
5307
5308   VFS Chunked Reading
5309       When  rclone  reads  files from a remote it reads them in chunks.  This
5310       means that rather than requesting the whole file rclone reads the chunk
5311       specified.  This can reduce the used download quota for some remotes by
5312       requesting only chunks from the remote that are actually read,  at  the
5313       cost of an increased number of requests.
5314
5315       These flags control the chunking:
5316
5317              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
5318              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
5319
5320       Rclone  will  start  reading a chunk of size --vfs-read-chunk-size, and
5321       then double the size for each read.   When  --vfs-read-chunk-size-limit
5322       is  specified,  and  greater than --vfs-read-chunk-size, the chunk size
5323       for each open file will get doubled only until the specified  value  is
5324       reached.   If  the  value  is "off", which is the default, the limit is
5325       disabled and the chunk size will grow indefinitely.
5326
5327       With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit  0  the
5328       following  parts  will  be  downloaded:  0-100M,  100M-200M, 200M-300M,
5329       300M-400M and so on.  When --vfs-read-chunk-size-limit 500M  is  speci‐
5330       fied,  the  result  would  be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
5331       1200M-1700M and so on.
5332
5333       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
5334
5335   VFS Performance
5336       These flags may be used to enable/disable features of the VFS for  per‐
5337       formance or other reasons.  See also the chunked reading feature.
5338
5339       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
5340       (or use --use-server-modtime for a slightly different effect)  as  each
5341       read of the modification time takes a transaction.
5342
5343              --no-checksum     Don't compare checksums on up/download.
5344              --no-modtime      Don't read/write the modification time (can speed things up).
5345              --no-seek         Don't allow seeking in files.
5346              --read-only       Mount read-only.
5347
5348       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
5349       than seeking rclone will wait a short time for the in sequence read  or
5350       write  to come in.  These flags only come into effect when not using an
5351       on disk cache file.
5352
5353              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
5354              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
5355
5356       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
5357       full),  the  global flag --transfers can be set to adjust the number of
5358       parallel uploads of modified files from cache (the related global  flag
5359       --checkers have no effect on mount).
5360
5361              --transfers int  Number of file transfers to run in parallel (default 4)
5362
5363   VFS Case Sensitivity
5364       Linux  file  systems  are  case-sensitive: two files can differ only by
5365       case, and the exact case must be used when opening a file.
5366
5367       File systems in modern Windows are case-insensitive  but  case-preserv‐
5368       ing:  although  existing  files can be opened using any case, the exact
5369       case used to create the file is preserved and available for programs to
5370       query.  It is not allowed for two files in the same directory to differ
5371       only by case.
5372
5373       Usually file systems on macOS are case-insensitive.  It is possible  to
5374       make macOS file systems case-sensitive but that is not the default.
5375
5376       The --vfs-case-insensitive mount flag controls how rclone handles these
5377       two cases.  If its value is "false", rclone passes file  names  to  the
5378       mounted file system as-is.  If the flag is "true" (or appears without a
5379       value on command line), rclone may perform a "fixup" as  explained  be‐
5380       low.
5381
5382       The  user may specify a file name to open/delete/rename/etc with a case
5383       different than what is stored on mounted file system.  If  an  argument
5384       refers to an existing file with exactly the same name, then the case of
5385       the existing file on the disk will be used.  However, if  a  file  name
5386       with  exactly  the  same name is not found but a name differing only by
5387       case exists, rclone will transparently fixup the name.  This fixup hap‐
5388       pens only when an existing file is requested.  Case sensitivity of file
5389       names created anew by rclone is controlled  by  an  underlying  mounted
5390       file system.
5391
5392       Note  that case sensitivity of the operating system running rclone (the
5393       target) may differ from case sensitivity of a file  system  mounted  by
5394       rclone (the source).  The flag controls whether "fixup" is performed to
5395       satisfy the target.
5396
5397       If the flag is not provided on the command line, then its default value
5398       depends  on  the  operating system where rclone runs: "true" on Windows
5399       and macOS, "false" otherwise.  If the flag is provided without a value,
5400       then it is "true".
5401
5402   Alternate report of used bytes
5403       Some backends, most notably S3, do not report the amount of bytes used.
5404       If you need this information to be available when  running  df  on  the
5405       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
5406       flag set, instead of relying on the backend to report this information,
5407       rclone  will  scan  the whole remote similar to rclone size and compute
5408       the total used space itself.
5409
5410       WARNING. Contrary to rclone size, this flag ignores filters so that the
5411       result  is  accurate.   However,  this is very inefficient and may cost
5412       lots of API calls resulting in extra charges.  Use it as a last  resort
5413       and only with caching.
5414
5415   Auth Proxy
5416       If  you  supply the parameter --auth-proxy /path/to/program then rclone
5417       will use that program to generate backends on the fly  which  then  are
5418       used  to authenticate incoming requests.  This uses a simple JSON based
5419       protocol with input on STDIN and output on STDOUT.
5420
5421       PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used  togeth‐
5422       er, if --auth-proxy is set the authorized keys option will be ignored.
5423
5424       There       is      an      example      program      bin/test_proxy.py
5425       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
5426       rclone source code.
5427
5428       The  program's  job  is  to  take a user and pass on the input and turn
5429       those into the config for a backend on STDOUT  in  JSON  format.   This
5430       config  will  have any default parameters for the backend added, but it
5431       won't use configuration from environment variables or command line  op‐
5432       tions - it is the job of the proxy program to make a complete config.
5433
5434       This  config generated must have this extra parameter - _root - root to
5435       use for the backend
5436
5437       And it may have this parameter - _obscure - comma separated strings for
5438       parameters to obscure
5439
5440       If  password  authentication was used by the client, input to the proxy
5441       process (on STDIN) would look similar to this:
5442
5443              {
5444                  "user": "me",
5445                  "pass": "mypassword"
5446              }
5447
5448       If public-key authentication was used by the client, input to the proxy
5449       process (on STDIN) would look similar to this:
5450
5451              {
5452                  "user": "me",
5453                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
5454              }
5455
5456       And as an example return this on STDOUT
5457
5458              {
5459                  "type": "sftp",
5460                  "_root": "",
5461                  "_obscure": "pass",
5462                  "user": "me",
5463                  "pass": "mypassword",
5464                  "host": "sftp.example.com"
5465              }
5466
5467       This  would  mean  that an SFTP backend would be created on the fly for
5468       the user and pass/public_key returned in the output to the host  given.
5469       Note  that  since _obscure is set to pass, rclone will obscure the pass
5470       parameter before creating the backend (which is required for sftp back‐
5471       ends).
5472
5473       The program can manipulate the supplied user in any way, for example to
5474       make proxy to many different sftp backends, you could make the user  be
5475       user@example.com and then set the host to example.com in the output and
5476       the user to user.  For security you'd probably  want  to  restrict  the
5477       host to a limited list.
5478
5479       Note  that an internal cache is keyed on user so only use that for con‐
5480       figuration, don't use pass or public_key.  This also means  that  if  a
5481       user's  password or public-key is changed the cache will need to expire
5482       (which takes 5 mins) before it takes effect.
5483
5484       This can be used to build general purpose proxies to any kind of  back‐
5485       end that rclone supports.
5486
5487              rclone serve ftp remote:path [flags]
5488
5489   Options
5490                    --addr string                            IPaddress:Port or :Port to bind server to (default "localhost:2121")
5491                    --auth-proxy string                      A program to use to create the backend from the auth
5492                    --cert string                            TLS PEM key (concatenation of certificate and CA certificate)
5493                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
5494                    --dir-perms FileMode                     Directory permissions (default 0777)
5495                    --file-perms FileMode                    File permissions (default 0666)
5496                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
5497                -h, --help                                   help for ftp
5498                    --key string                             TLS PEM Private key
5499                    --no-checksum                            Don't compare checksums on up/download
5500                    --no-modtime                             Don't read/write the modification time (can speed things up)
5501                    --no-seek                                Don't allow seeking in files
5502                    --pass string                            Password for authentication (empty value allow every password)
5503                    --passive-port string                    Passive port range to use (default "30000-32000")
5504                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
5505                    --public-ip string                       Public IP address to advertise for passive connections
5506                    --read-only                              Mount read-only
5507                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
5508                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
5509                    --user string                            User name for authentication (default "anonymous")
5510                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
5511                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
5512                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5513                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
5514                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
5515                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
5516                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
5517                    --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)
5518                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
5519                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
5520                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
5521                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
5522
5523       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5524       tions not listed here.
5525
5526   SEE ALSO
5527       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
5528         remote over a protocol.
5529

rclone serve http

5531       Serve the remote over HTTP.
5532
5533   Synopsis
5534       rclone  serve  http  implements  a basic web server to serve the remote
5535       over HTTP.  This can be viewed in a web browser or you can make  a  re‐
5536       mote of type http read from it.
5537
5538       You  can  use  the filter flags (e.g.  --include, --exclude) to control
5539       what is served.
5540
5541       The server will log errors.  Use -v to see access logs.
5542
5543       --bwlimit will be respected for file transfers.  Use --stats to control
5544       the stats printing.
5545
5546   Server options
5547       Use  --addr to specify which IP address and port the server should lis‐
5548       ten on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen  to  all  IPs.
5549       By  default  it  only listens on localhost.  You can use port :0 to let
5550       the OS choose an available port.
5551
5552       If you set --addr to listen on a public or LAN  accessible  IP  address
5553       then using Authentication is advised - see the next section for info.
5554
5555       --server-read-timeout and --server-write-timeout can be used to control
5556       the timeouts on the server.  Note that this is the  total  time  for  a
5557       transfer.
5558
5559       --max-header-bytes controls the maximum number of bytes the server will
5560       accept in the HTTP header.
5561
5562       --baseurl controls the URL prefix that rclone serves from.  By  default
5563       rclone  will serve from the root.  If you used --baseurl "/rclone" then
5564       rclone would serve from a URL starting with "/rclone/".  This is useful
5565       if  you wish to proxy rclone serve.  Rclone automatically inserts lead‐
5566       ing and trailing "/" on --baseurl,  so  --baseurl  "rclone",  --baseurl
5567       "/rclone" and --baseurl "/rclone/" are all treated identically.
5568
5569   SSL/TLS
5570       By  default  this will serve over http.  If you want you can serve over
5571       https.  You will need to supply the --cert and  --key  flags.   If  you
5572       wish  to  do  client  side certificate validation then you will need to
5573       supply --client-ca also.
5574
5575       --cert should be a either a PEM encoded certificate or a  concatenation
5576       of  that with the CA certificate.  --key should be the PEM encoded pri‐
5577       vate key and --client-ca should be the PEM encoded  client  certificate
5578       authority  certificate.   --template  allows a user to specify a custom
5579       markup template for http and webdav serve functions.   The  server  ex‐
5580       ports  the  following  markup  to be used within the template to server
5581       pages:
5582
5583       Parameter                             Description
5584       ──────────────────────────────────────────────────────────────────────────
5585       .Name                                 The full path of a file/directory.
5586       .Title                                Directory listing of .Name
5587       .Sort                                 The current  sort  used.   This  is
5588                                             changeable via ?sort= parameter
5589                                             Sort                       Options:
5590                                             namedirfirst,name,size,time    (de‐
5591                                             fault namedirfirst)
5592       .Order                                The current ordering used.  This is
5593                                             changeable via ?order= parameter
5594                                             Order  Options:  asc,desc  (default
5595                                             asc)
5596       .Query                                Currently unused.
5597       .Breadcrumb                           Allows for creating a relative nav‐
5598                                             igation
5599       -- .Link                              The relative to the  root  link  of
5600                                             the Text.
5601       -- .Text                              The Name of the directory.
5602       .Entries                              Information    about   a   specific
5603                                             file/directory.
5604       -- .URL                               The 'url' of an entry.
5605       -- .Leaf                              Currently same as 'URL' but intend‐
5606                                             ed to be 'just' the name.
5607       -- .IsDir                             Boolean for if an entry is a direc‐
5608                                             tory or not.
5609       -- .Size                              Size in Bytes of the entry.
5610       -- .ModTime                           The UTC timestamp of an entry.
5611
5612   Authentication
5613       By default this will serve files without needing a login.
5614
5615       You can either use an htpasswd file which can take lots  of  users,  or
5616       set a single username and password with the --user and --pass flags.
5617
5618       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
5619       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
5620       authentication.  Bcrypt is recommended.
5621
5622       To create an htpasswd file:
5623
5624              touch htpasswd
5625              htpasswd -B htpasswd user
5626              htpasswd -B htpasswd anotherUser
5627
5628       The password file can be updated while rclone is running.
5629
5630       Use --realm to set the authentication realm.
5631
5632       Use --salt to change the password hashing salt from the default.
5633
5634   VFS - Virtual File System
5635       This command uses the VFS layer.  This adapts the cloud storage objects
5636       that rclone uses into something which looks much more like a disk  fil‐
5637       ing system.
5638
5639       Cloud  storage  objects  have lots of properties which aren't like disk
5640       files - you can't extend them or write to the middle of  them,  so  the
5641       VFS  layer has to deal with that.  Because there is no one right way of
5642       doing this there are various options explained below.
5643
5644       The VFS layer also implements a directory  cache  -  this  caches  info
5645       about files and directories (but not the data) in memory.
5646
5647   VFS Directory Cache
5648       Using  the  --dir-cache-time flag, you can control how long a directory
5649       should be considered up to date and not  refreshed  from  the  backend.
5650       Changes  made  through  the mount will appear immediately or invalidate
5651       the cache.
5652
5653              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
5654              --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)
5655
5656       However, changes made directly on the cloud storage by the  web  inter‐
5657       face  or a different copy of rclone will only be picked up once the di‐
5658       rectory cache expires  if  the  backend  configured  does  not  support
5659       polling  for changes.  If the backend supports polling, changes will be
5660       picked up within the polling interval.
5661
5662       You can send a SIGHUP signal to rclone for it to  flush  all  directory
5663       caches,  regardless  of how old they are.  Assuming only one rclone in‐
5664       stance is running, you can reset the cache like this:
5665
5666              kill -SIGHUP $(pidof rclone)
5667
5668       If you configure rclone with a remote control (/rc) then  you  can  use
5669       rclone rc to flush the whole directory cache:
5670
5671              rclone rc vfs/forget
5672
5673       Or individual files or directories:
5674
5675              rclone rc vfs/forget file=path/to/file dir=path/to/dir
5676
5677   VFS File Buffering
5678       The  --buffer-size  flag  determines the amount of memory, that will be
5679       used to buffer data in advance.
5680
5681       Each open file will try to keep the specified amount of data in  memory
5682       at all times.  The buffered data is bound to one open file and won't be
5683       shared.
5684
5685       This flag is a upper limit for the used memory per open file.  The buf‐
5686       fer  will  only  use memory for data that is downloaded but not not yet
5687       read.  If the buffer is empty, only a small amount of  memory  will  be
5688       used.
5689
5690       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
5691       fer-size * open files.
5692
5693   VFS File Caching
5694       These flags control the VFS file caching options.  File caching is nec‐
5695       essary  to make the VFS layer appear compatible with a normal file sys‐
5696       tem.  It can be disabled at the cost of some compatibility.
5697
5698       For example you'll need to enable VFS caching if you want to  read  and
5699       write simultaneously to a file.  See below for more details.
5700
5701       Note  that the VFS cache is separate from the cache backend and you may
5702       find that you need one or the other or both.
5703
5704              --cache-dir string                   Directory rclone will use for caching.
5705              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
5706              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
5707              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
5708              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
5709              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
5710
5711       If run with -vv rclone will print the location of the file cache.   The
5712       files  are stored in the user cache file area which is OS dependent but
5713       can be controlled with --cache-dir or setting the appropriate  environ‐
5714       ment variable.
5715
5716       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
5717       higher the cache mode the more compatible rclone becomes at the cost of
5718       using disk space.
5719
5720       Note  that  files  are  written  back  to the remote only when they are
5721       closed and if they haven't been accessed for --vfs-write-back  seconds.
5722       If  rclone is quit or dies with files that haven't been uploaded, these
5723       will be uploaded next time rclone is run with the same flags.
5724
5725       If using --vfs-cache-max-size note that the cache may exceed this  size
5726       for   two   reasons.    Firstly   because  it  is  only  checked  every
5727       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
5728       evicted from the cache.
5729
5730       You  should  not run two copies of rclone using the same VFS cache with
5731       the same or overlapping remotes if using --vfs-cache-mode > off.   This
5732       can  potentially  cause data corruption if you do.  You can work around
5733       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
5734       You don't need to worry about this if the remotes in use don't overlap.
5735
5736   --vfs-cache-mode off
5737       In this mode (the default) the cache will read directly from the remote
5738       and write directly to the remote without caching anything on disk.
5739
5740       This will mean some operations are not possible
5741
5742       • Files can't be opened for both read AND write
5743
5744       • Files opened for write can't be seeked
5745
5746       • Existing files opened for write must have O_TRUNC set
5747
5748       • Files open for read with O_TRUNC will be opened write only
5749
5750       • Files open for write only will behave as if O_TRUNC was supplied
5751
5752       • Open modes O_APPEND, O_TRUNC are ignored
5753
5754       • If an upload fails it can't be retried
5755
5756   --vfs-cache-mode minimal
5757       This is very similar to "off" except that files  opened  for  read  AND
5758       write will be buffered to disk.  This means that files opened for write
5759       will be a lot more compatible, but uses the minimal disk space.
5760
5761       These operations are not possible
5762
5763       • Files opened for write only can't be seeked
5764
5765       • Existing files opened for write must have O_TRUNC set
5766
5767       • Files opened for write only will ignore O_APPEND, O_TRUNC
5768
5769       • If an upload fails it can't be retried
5770
5771   --vfs-cache-mode writes
5772       In this mode files opened for read only are still  read  directly  from
5773       the remote, write only and read/write files are buffered to disk first.
5774
5775       This mode should support all normal file system operations.
5776
5777       If  an  upload fails it will be retried at exponentially increasing in‐
5778       tervals up to 1 minute.
5779
5780   --vfs-cache-mode full
5781       In this mode all reads and writes are buffered to and from disk.   When
5782       data is read from the remote this is buffered to disk as well.
5783
5784       In  this  mode  the  files in the cache will be sparse files and rclone
5785       will keep track of which bits of the files it has downloaded.
5786
5787       So if an application only reads the starts of each  file,  then  rclone
5788       will  only buffer the start of the file.  These files will appear to be
5789       their full size in the cache, but they will be sparse files  with  only
5790       the data that has been downloaded present in them.
5791
5792       This  mode should support all normal file system operations and is oth‐
5793       erwise identical to --vfs-cache-mode writes.
5794
5795       When   reading   a   file   rclone   will   read   --buffer-size   plus
5796       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
5797       whereas the --vfs-read-ahead is buffered on disk.
5798
5799       When using this mode it is recommended that --buffer-size  is  not  set
5800       too large and --vfs-read-ahead is set large if required.
5801
5802       IMPORTANT  not  all  file  systems support sparse files.  In particular
5803       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
5804       ry  is  on  a filesystem which doesn't support sparse files and it will
5805       log an ERROR message if one is detected.
5806
5807   VFS Chunked Reading
5808       When rclone reads files from a remote it reads them  in  chunks.   This
5809       means that rather than requesting the whole file rclone reads the chunk
5810       specified.  This can reduce the used download quota for some remotes by
5811       requesting  only  chunks from the remote that are actually read, at the
5812       cost of an increased number of requests.
5813
5814       These flags control the chunking:
5815
5816              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
5817              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
5818
5819       Rclone will start reading a chunk of  size  --vfs-read-chunk-size,  and
5820       then  double  the size for each read.  When --vfs-read-chunk-size-limit
5821       is specified, and greater than --vfs-read-chunk-size,  the  chunk  size
5822       for  each  open file will get doubled only until the specified value is
5823       reached.  If the value is "off", which is the  default,  the  limit  is
5824       disabled and the chunk size will grow indefinitely.
5825
5826       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
5827       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
5828       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
5829       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
5830       1200M-1700M and so on.
5831
5832       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
5833
5834   VFS Performance
5835       These  flags may be used to enable/disable features of the VFS for per‐
5836       formance or other reasons.  See also the chunked reading feature.
5837
5838       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
5839       (or  use  --use-server-modtime for a slightly different effect) as each
5840       read of the modification time takes a transaction.
5841
5842              --no-checksum     Don't compare checksums on up/download.
5843              --no-modtime      Don't read/write the modification time (can speed things up).
5844              --no-seek         Don't allow seeking in files.
5845              --read-only       Mount read-only.
5846
5847       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
5848       than  seeking rclone will wait a short time for the in sequence read or
5849       write to come in.  These flags only come into effect when not using  an
5850       on disk cache file.
5851
5852              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
5853              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
5854
5855       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
5856       full), the global flag --transfers can be set to adjust the  number  of
5857       parallel  uploads of modified files from cache (the related global flag
5858       --checkers have no effect on mount).
5859
5860              --transfers int  Number of file transfers to run in parallel (default 4)
5861
5862   VFS Case Sensitivity
5863       Linux file systems are case-sensitive: two files  can  differ  only  by
5864       case, and the exact case must be used when opening a file.
5865
5866       File  systems  in modern Windows are case-insensitive but case-preserv‐
5867       ing: although existing files can be opened using any  case,  the  exact
5868       case used to create the file is preserved and available for programs to
5869       query.  It is not allowed for two files in the same directory to differ
5870       only by case.
5871
5872       Usually  file systems on macOS are case-insensitive.  It is possible to
5873       make macOS file systems case-sensitive but that is not the default.
5874
5875       The --vfs-case-insensitive mount flag controls how rclone handles these
5876       two  cases.   If  its value is "false", rclone passes file names to the
5877       mounted file system as-is.  If the flag is "true" (or appears without a
5878       value  on  command line), rclone may perform a "fixup" as explained be‐
5879       low.
5880
5881       The user may specify a file name to open/delete/rename/etc with a  case
5882       different  than  what is stored on mounted file system.  If an argument
5883       refers to an existing file with exactly the same name, then the case of
5884       the  existing  file  on the disk will be used.  However, if a file name
5885       with exactly the same name is not found but a name  differing  only  by
5886       case exists, rclone will transparently fixup the name.  This fixup hap‐
5887       pens only when an existing file is requested.  Case sensitivity of file
5888       names  created  anew  by  rclone is controlled by an underlying mounted
5889       file system.
5890
5891       Note that case sensitivity of the operating system running rclone  (the
5892       target)  may  differ  from case sensitivity of a file system mounted by
5893       rclone (the source).  The flag controls whether "fixup" is performed to
5894       satisfy the target.
5895
5896       If the flag is not provided on the command line, then its default value
5897       depends on the operating system where rclone runs:  "true"  on  Windows
5898       and macOS, "false" otherwise.  If the flag is provided without a value,
5899       then it is "true".
5900
5901   Alternate report of used bytes
5902       Some backends, most notably S3, do not report the amount of bytes used.
5903       If  you  need  this  information to be available when running df on the
5904       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
5905       flag set, instead of relying on the backend to report this information,
5906       rclone will scan the whole remote similar to rclone  size  and  compute
5907       the total used space itself.
5908
5909       WARNING. Contrary to rclone size, this flag ignores filters so that the
5910       result is accurate.  However, this is very  inefficient  and  may  cost
5911       lots  of API calls resulting in extra charges.  Use it as a last resort
5912       and only with caching.
5913
5914              rclone serve http remote:path [flags]
5915
5916   Options
5917                    --addr string                            IPaddress:Port or :Port to bind server to (default "127.0.0.1:8080")
5918                    --baseurl string                         Prefix for URLs - leave blank for root
5919                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
5920                    --client-ca string                       Client certificate authority to verify clients with
5921                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
5922                    --dir-perms FileMode                     Directory permissions (default 0777)
5923                    --file-perms FileMode                    File permissions (default 0666)
5924                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
5925                -h, --help                                   help for http
5926                    --htpasswd string                        A htpasswd file - if not provided no authentication is done
5927                    --key string                             SSL PEM Private key
5928                    --max-header-bytes int                   Maximum size of request header (default 4096)
5929                    --no-checksum                            Don't compare checksums on up/download
5930                    --no-modtime                             Don't read/write the modification time (can speed things up)
5931                    --no-seek                                Don't allow seeking in files
5932                    --pass string                            Password for authentication
5933                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
5934                    --read-only                              Mount read-only
5935                    --realm string                           Realm for authentication
5936                    --salt string                            Password hashing salt (default "dlPL2MqE")
5937                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
5938                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
5939                    --template string                        User-specified template
5940                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
5941                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
5942                    --user string                            User name for authentication
5943                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
5944                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
5945                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5946                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
5947                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
5948                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
5949                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
5950                    --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)
5951                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
5952                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
5953                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
5954                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
5955
5956       See the global flags page (https://rclone.org/flags/)  for  global  op‐
5957       tions not listed here.
5958
5959   SEE ALSO
5960       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
5961         remote over a protocol.
5962

rclone serve restic

5964       Serve the remote for restic's REST API.
5965
5966   Synopsis
5967       rclone serve restic implements restic's REST  backend  API  over  HTTP.
5968       This  allows restic to use rclone as a data storage mechanism for cloud
5969       providers that restic does not support directly.
5970
5971       Restic (https://restic.net/) is a command line program for doing  back‐
5972       ups.
5973
5974       The server will log errors.  Use -v to see access logs.
5975
5976       --bwlimit will be respected for file transfers.  Use --stats to control
5977       the stats printing.
5978
5979   Setting up rclone for use by restic
5980       First   set   up   a   remote   for   your   chosen   cloud    provider
5981       (https://rclone.org/docs/#configure).
5982
5983       Once  you have set up the remote, check it is working with, for example
5984       "rclone lsd remote:".  You may have called the remote  something  other
5985       than  "remote:" - just substitute whatever you called it in the follow‐
5986       ing instructions.
5987
5988       Now start the rclone restic server
5989
5990              rclone serve restic -v remote:backup
5991
5992       Where you can replace "backup" in the above by whatever path in the re‐
5993       mote you wish to use.
5994
5995       By default this will serve on "localhost:8080" you can change this with
5996       use of the "--addr" flag.
5997
5998       You might wish to start this server on boot.
5999
6000       Adding --cache-objects=false will cause rclone to stop caching  objects
6001       returned  from  the  List  call.   Caching  is normally desirable as it
6002       speeds up downloading objects, saves transactions and uses very  little
6003       memory.
6004
6005   Setting up restic to use rclone
6006       Now  you  can  follow the restic instructions (http://restic.readthedo
6007       cs.io/en/latest/030_preparing_a_new_repo.html#rest-server)  on  setting
6008       up restic.
6009
6010       Note  that  you  will  need  restic 0.8.2 or later to interoperate with
6011       rclone.
6012
6013       For the example above you will want to use "http://localhost:8080/"  as
6014       the URL for the REST server.
6015
6016       For example:
6017
6018              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
6019              $ export RESTIC_PASSWORD=yourpassword
6020              $ restic init
6021              created restic backend 8b1a4b56ae at rest:http://localhost:8080/
6022
6023              Please note that knowledge of your password is required to access
6024              the repository. Losing your password means that your data is
6025              irrecoverably lost.
6026              $ restic backup /path/to/files/to/backup
6027              scan [/path/to/files/to/backup]
6028              scanned 189 directories, 312 files in 0:00
6029              [0:00] 100.00%  38.128 MiB / 38.128 MiB  501 / 501 items  0 errors  ETA 0:00
6030              duration: 0:00
6031              snapshot 45c8fdd8 saved
6032
6033   Multiple repositories
6034       Note  that  you can use the endpoint to host multiple repositories.  Do
6035       this by adding a directory name or path after the URL.  Note that these
6036       must end with /.  Eg
6037
6038              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
6039              # backup user1 stuff
6040              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
6041              # backup user2 stuff
6042
6043   Private repositories
6044       The  "--private-repos"  flag can be used to limit users to repositories
6045       starting with a path of /<username>/.
6046
6047   Server options
6048       Use --addr to specify which IP address and port the server should  lis‐
6049       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
6050       By default it only listens on localhost.  You can use port  :0  to  let
6051       the OS choose an available port.
6052
6053       If  you  set  --addr to listen on a public or LAN accessible IP address
6054       then using Authentication is advised - see the next section for info.
6055
6056       --server-read-timeout and --server-write-timeout can be used to control
6057       the  timeouts  on  the  server.  Note that this is the total time for a
6058       transfer.
6059
6060       --max-header-bytes controls the maximum number of bytes the server will
6061       accept in the HTTP header.
6062
6063       --baseurl  controls the URL prefix that rclone serves from.  By default
6064       rclone will serve from the root.  If you used --baseurl "/rclone"  then
6065       rclone would serve from a URL starting with "/rclone/".  This is useful
6066       if you wish to proxy rclone serve.  Rclone automatically inserts  lead‐
6067       ing  and  trailing  "/"  on --baseurl, so --baseurl "rclone", --baseurl
6068       "/rclone" and --baseurl "/rclone/" are all treated identically.
6069
6070       --template allows a user to specify a custom markup template  for  http
6071       and webdav serve functions.  The server exports the following markup to
6072       be used within the template to server pages:
6073
6074       Parameter                             Description
6075       ──────────────────────────────────────────────────────────────────────────
6076       .Name                                 The full path of a file/directory.
6077       .Title                                Directory listing of .Name
6078       .Sort                                 The current  sort  used.   This  is
6079                                             changeable via ?sort= parameter
6080                                             Sort                       Options:
6081                                             namedirfirst,name,size,time    (de‐
6082                                             fault namedirfirst)
6083       .Order                                The current ordering used.  This is
6084                                             changeable via ?order= parameter
6085                                             Order  Options:  asc,desc  (default
6086                                             asc)
6087       .Query                                Currently unused.
6088       .Breadcrumb                           Allows for creating a relative nav‐
6089                                             igation
6090       -- .Link                              The relative to the  root  link  of
6091                                             the Text.
6092       -- .Text                              The Name of the directory.
6093       .Entries                              Information    about   a   specific
6094                                             file/directory.
6095       -- .URL                               The 'url' of an entry.
6096       -- .Leaf                              Currently same as 'URL' but intend‐
6097                                             ed to be 'just' the name.
6098       -- .IsDir                             Boolean for if an entry is a direc‐
6099                                             tory or not.
6100       -- .Size                              Size in Bytes of the entry.
6101       -- .ModTime                           The UTC timestamp of an entry.
6102
6103   Authentication
6104       By default this will serve files without needing a login.
6105
6106       You can either use an htpasswd file which can take lots  of  users,  or
6107       set a single username and password with the --user and --pass flags.
6108
6109       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
6110       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
6111       authentication.  Bcrypt is recommended.
6112
6113       To create an htpasswd file:
6114
6115              touch htpasswd
6116              htpasswd -B htpasswd user
6117              htpasswd -B htpasswd anotherUser
6118
6119       The password file can be updated while rclone is running.
6120
6121       Use --realm to set the authentication realm.
6122
6123   SSL/TLS
6124       By  default  this will serve over http.  If you want you can serve over
6125       https.  You will need to supply the --cert and  --key  flags.   If  you
6126       wish  to  do  client  side certificate validation then you will need to
6127       supply --client-ca also.
6128
6129       --cert should be either a PEM encoded certificate or a concatenation of
6130       that  with the CA certificate.  --key should be the PEM encoded private
6131       key and --client-ca should be the PEM encoded  client  certificate  au‐
6132       thority certificate.
6133
6134              rclone serve restic remote:path [flags]
6135
6136   Options
6137                    --addr string                     IPaddress:Port or :Port to bind server to (default "localhost:8080")
6138                    --append-only                     Disallow deletion of repository data
6139                    --baseurl string                  Prefix for URLs - leave blank for root
6140                    --cache-objects                   Cache listed objects (default true)
6141                    --cert string                     SSL PEM key (concatenation of certificate and CA certificate)
6142                    --client-ca string                Client certificate authority to verify clients with
6143                -h, --help                            help for restic
6144                    --htpasswd string                 htpasswd file - if not provided no authentication is done
6145                    --key string                      SSL PEM Private key
6146                    --max-header-bytes int            Maximum size of request header (default 4096)
6147                    --pass string                     Password for authentication
6148                    --private-repos                   Users can only access their private repo
6149                    --realm string                    realm for authentication (default "rclone")
6150                    --server-read-timeout duration    Timeout for server reading data (default 1h0m0s)
6151                    --server-write-timeout duration   Timeout for server writing data (default 1h0m0s)
6152                    --stdio                           Run an HTTP2 server on stdin/stdout
6153                    --template string                 User-specified template
6154                    --user string                     User name for authentication
6155
6156       See  the  global  flags page (https://rclone.org/flags/) for global op‐
6157       tions not listed here.
6158
6159   SEE ALSO
6160       • rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
6161         remote over a protocol.
6162

rclone serve sftp

6164       Serve the remote over SFTP.
6165
6166   Synopsis
6167       rclone  serve  sftp  implements an SFTP server to serve the remote over
6168       SFTP.  This can be used with an SFTP client or you can make a remote of
6169       type sftp to use with it.
6170
6171       You  can  use  the filter flags (e.g.  --include, --exclude) to control
6172       what is served.
6173
6174       The server will log errors.  Use -v to see access logs.
6175
6176       --bwlimit will be respected for file transfers.  Use --stats to control
6177       the stats printing.
6178
6179       You  must  provide  some  means  of  authentication,  either with --us‐
6180       er/--pass, an authorized keys  file  (specify  location  with  --autho‐
6181       rized-keys  -  the default is the same as ssh), an --auth-proxy, or set
6182       the --no-auth flag for no authentication when logging in.
6183
6184       Note that this also implements a small number of shell commands so that
6185       it  can provide md5sum/sha1sum/df information for the rclone sftp back‐
6186       end.  This means that is can support SHA1SUMs, MD5SUMs  and  the  about
6187       command when paired with the rclone sftp backend.
6188
6189       If  you  don't supply a host --key then rclone will generate rsa, ecdsa
6190       and ed25519 variants, and cache them for later use  in  rclone's  cache
6191       directory  (see  "rclone help flags cache-dir") in the "serve-sftp" di‐
6192       rectory.
6193
6194       By default the server binds to localhost:2022 - if you want  it  to  be
6195       reachable externally then supply "--addr :2022" for example.
6196
6197       Note  that the default of "--vfs-cache-mode off" is fine for the rclone
6198       sftp backend, but it may not be with other SFTP clients.
6199
6200       If --stdio is specified, rclone will serve SFTP over stdio,  which  can
6201       be used with sshd via ~/.ssh/authorized_keys, for example:
6202
6203              restrict,command="rclone serve sftp --stdio ./photos" ssh-rsa ...
6204
6205   VFS - Virtual File System
6206       This command uses the VFS layer.  This adapts the cloud storage objects
6207       that rclone uses into something which looks much more like a disk  fil‐
6208       ing system.
6209
6210       Cloud  storage  objects  have lots of properties which aren't like disk
6211       files - you can't extend them or write to the middle of  them,  so  the
6212       VFS  layer has to deal with that.  Because there is no one right way of
6213       doing this there are various options explained below.
6214
6215       The VFS layer also implements a directory  cache  -  this  caches  info
6216       about files and directories (but not the data) in memory.
6217
6218   VFS Directory Cache
6219       Using  the  --dir-cache-time flag, you can control how long a directory
6220       should be considered up to date and not  refreshed  from  the  backend.
6221       Changes  made  through  the mount will appear immediately or invalidate
6222       the cache.
6223
6224              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
6225              --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)
6226
6227       However, changes made directly on the cloud storage by the  web  inter‐
6228       face  or a different copy of rclone will only be picked up once the di‐
6229       rectory cache expires  if  the  backend  configured  does  not  support
6230       polling  for changes.  If the backend supports polling, changes will be
6231       picked up within the polling interval.
6232
6233       You can send a SIGHUP signal to rclone for it to  flush  all  directory
6234       caches,  regardless  of how old they are.  Assuming only one rclone in‐
6235       stance is running, you can reset the cache like this:
6236
6237              kill -SIGHUP $(pidof rclone)
6238
6239       If you configure rclone with a remote control (/rc) then  you  can  use
6240       rclone rc to flush the whole directory cache:
6241
6242              rclone rc vfs/forget
6243
6244       Or individual files or directories:
6245
6246              rclone rc vfs/forget file=path/to/file dir=path/to/dir
6247
6248   VFS File Buffering
6249       The  --buffer-size  flag  determines the amount of memory, that will be
6250       used to buffer data in advance.
6251
6252       Each open file will try to keep the specified amount of data in  memory
6253       at all times.  The buffered data is bound to one open file and won't be
6254       shared.
6255
6256       This flag is a upper limit for the used memory per open file.  The buf‐
6257       fer  will  only  use memory for data that is downloaded but not not yet
6258       read.  If the buffer is empty, only a small amount of  memory  will  be
6259       used.
6260
6261       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
6262       fer-size * open files.
6263
6264   VFS File Caching
6265       These flags control the VFS file caching options.  File caching is nec‐
6266       essary  to make the VFS layer appear compatible with a normal file sys‐
6267       tem.  It can be disabled at the cost of some compatibility.
6268
6269       For example you'll need to enable VFS caching if you want to  read  and
6270       write simultaneously to a file.  See below for more details.
6271
6272       Note  that the VFS cache is separate from the cache backend and you may
6273       find that you need one or the other or both.
6274
6275              --cache-dir string                   Directory rclone will use for caching.
6276              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
6277              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
6278              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
6279              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
6280              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
6281
6282       If run with -vv rclone will print the location of the file cache.   The
6283       files  are stored in the user cache file area which is OS dependent but
6284       can be controlled with --cache-dir or setting the appropriate  environ‐
6285       ment variable.
6286
6287       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
6288       higher the cache mode the more compatible rclone becomes at the cost of
6289       using disk space.
6290
6291       Note  that  files  are  written  back  to the remote only when they are
6292       closed and if they haven't been accessed for --vfs-write-back  seconds.
6293       If  rclone is quit or dies with files that haven't been uploaded, these
6294       will be uploaded next time rclone is run with the same flags.
6295
6296       If using --vfs-cache-max-size note that the cache may exceed this  size
6297       for   two   reasons.    Firstly   because  it  is  only  checked  every
6298       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
6299       evicted from the cache.
6300
6301       You  should  not run two copies of rclone using the same VFS cache with
6302       the same or overlapping remotes if using --vfs-cache-mode > off.   This
6303       can  potentially  cause data corruption if you do.  You can work around
6304       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
6305       You don't need to worry about this if the remotes in use don't overlap.
6306
6307   --vfs-cache-mode off
6308       In this mode (the default) the cache will read directly from the remote
6309       and write directly to the remote without caching anything on disk.
6310
6311       This will mean some operations are not possible
6312
6313       • Files can't be opened for both read AND write
6314
6315       • Files opened for write can't be seeked
6316
6317       • Existing files opened for write must have O_TRUNC set
6318
6319       • Files open for read with O_TRUNC will be opened write only
6320
6321       • Files open for write only will behave as if O_TRUNC was supplied
6322
6323       • Open modes O_APPEND, O_TRUNC are ignored
6324
6325       • If an upload fails it can't be retried
6326
6327   --vfs-cache-mode minimal
6328       This is very similar to "off" except that files  opened  for  read  AND
6329       write will be buffered to disk.  This means that files opened for write
6330       will be a lot more compatible, but uses the minimal disk space.
6331
6332       These operations are not possible
6333
6334       • Files opened for write only can't be seeked
6335
6336       • Existing files opened for write must have O_TRUNC set
6337
6338       • Files opened for write only will ignore O_APPEND, O_TRUNC
6339
6340       • If an upload fails it can't be retried
6341
6342   --vfs-cache-mode writes
6343       In this mode files opened for read only are still  read  directly  from
6344       the remote, write only and read/write files are buffered to disk first.
6345
6346       This mode should support all normal file system operations.
6347
6348       If  an  upload fails it will be retried at exponentially increasing in‐
6349       tervals up to 1 minute.
6350
6351   --vfs-cache-mode full
6352       In this mode all reads and writes are buffered to and from disk.   When
6353       data is read from the remote this is buffered to disk as well.
6354
6355       In  this  mode  the  files in the cache will be sparse files and rclone
6356       will keep track of which bits of the files it has downloaded.
6357
6358       So if an application only reads the starts of each  file,  then  rclone
6359       will  only buffer the start of the file.  These files will appear to be
6360       their full size in the cache, but they will be sparse files  with  only
6361       the data that has been downloaded present in them.
6362
6363       This  mode should support all normal file system operations and is oth‐
6364       erwise identical to --vfs-cache-mode writes.
6365
6366       When   reading   a   file   rclone   will   read   --buffer-size   plus
6367       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
6368       whereas the --vfs-read-ahead is buffered on disk.
6369
6370       When using this mode it is recommended that --buffer-size  is  not  set
6371       too large and --vfs-read-ahead is set large if required.
6372
6373       IMPORTANT  not  all  file  systems support sparse files.  In particular
6374       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
6375       ry  is  on  a filesystem which doesn't support sparse files and it will
6376       log an ERROR message if one is detected.
6377
6378   VFS Chunked Reading
6379       When rclone reads files from a remote it reads them  in  chunks.   This
6380       means that rather than requesting the whole file rclone reads the chunk
6381       specified.  This can reduce the used download quota for some remotes by
6382       requesting  only  chunks from the remote that are actually read, at the
6383       cost of an increased number of requests.
6384
6385       These flags control the chunking:
6386
6387              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
6388              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
6389
6390       Rclone will start reading a chunk of  size  --vfs-read-chunk-size,  and
6391       then  double  the size for each read.  When --vfs-read-chunk-size-limit
6392       is specified, and greater than --vfs-read-chunk-size,  the  chunk  size
6393       for  each  open file will get doubled only until the specified value is
6394       reached.  If the value is "off", which is the  default,  the  limit  is
6395       disabled and the chunk size will grow indefinitely.
6396
6397       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
6398       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
6399       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
6400       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
6401       1200M-1700M and so on.
6402
6403       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
6404
6405   VFS Performance
6406       These  flags may be used to enable/disable features of the VFS for per‐
6407       formance or other reasons.  See also the chunked reading feature.
6408
6409       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
6410       (or  use  --use-server-modtime for a slightly different effect) as each
6411       read of the modification time takes a transaction.
6412
6413              --no-checksum     Don't compare checksums on up/download.
6414              --no-modtime      Don't read/write the modification time (can speed things up).
6415              --no-seek         Don't allow seeking in files.
6416              --read-only       Mount read-only.
6417
6418       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
6419       than  seeking rclone will wait a short time for the in sequence read or
6420       write to come in.  These flags only come into effect when not using  an
6421       on disk cache file.
6422
6423              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
6424              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
6425
6426       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
6427       full), the global flag --transfers can be set to adjust the  number  of
6428       parallel  uploads of modified files from cache (the related global flag
6429       --checkers have no effect on mount).
6430
6431              --transfers int  Number of file transfers to run in parallel (default 4)
6432
6433   VFS Case Sensitivity
6434       Linux file systems are case-sensitive: two files  can  differ  only  by
6435       case, and the exact case must be used when opening a file.
6436
6437       File  systems  in modern Windows are case-insensitive but case-preserv‐
6438       ing: although existing files can be opened using any  case,  the  exact
6439       case used to create the file is preserved and available for programs to
6440       query.  It is not allowed for two files in the same directory to differ
6441       only by case.
6442
6443       Usually  file systems on macOS are case-insensitive.  It is possible to
6444       make macOS file systems case-sensitive but that is not the default.
6445
6446       The --vfs-case-insensitive mount flag controls how rclone handles these
6447       two  cases.   If  its value is "false", rclone passes file names to the
6448       mounted file system as-is.  If the flag is "true" (or appears without a
6449       value  on  command line), rclone may perform a "fixup" as explained be‐
6450       low.
6451
6452       The user may specify a file name to open/delete/rename/etc with a  case
6453       different  than  what is stored on mounted file system.  If an argument
6454       refers to an existing file with exactly the same name, then the case of
6455       the  existing  file  on the disk will be used.  However, if a file name
6456       with exactly the same name is not found but a name  differing  only  by
6457       case exists, rclone will transparently fixup the name.  This fixup hap‐
6458       pens only when an existing file is requested.  Case sensitivity of file
6459       names  created  anew  by  rclone is controlled by an underlying mounted
6460       file system.
6461
6462       Note that case sensitivity of the operating system running rclone  (the
6463       target)  may  differ  from case sensitivity of a file system mounted by
6464       rclone (the source).  The flag controls whether "fixup" is performed to
6465       satisfy the target.
6466
6467       If the flag is not provided on the command line, then its default value
6468       depends on the operating system where rclone runs:  "true"  on  Windows
6469       and macOS, "false" otherwise.  If the flag is provided without a value,
6470       then it is "true".
6471
6472   Alternate report of used bytes
6473       Some backends, most notably S3, do not report the amount of bytes used.
6474       If  you  need  this  information to be available when running df on the
6475       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
6476       flag set, instead of relying on the backend to report this information,
6477       rclone will scan the whole remote similar to rclone  size  and  compute
6478       the total used space itself.
6479
6480       WARNING. Contrary to rclone size, this flag ignores filters so that the
6481       result is accurate.  However, this is very  inefficient  and  may  cost
6482       lots  of API calls resulting in extra charges.  Use it as a last resort
6483       and only with caching.
6484
6485   Auth Proxy
6486       If you supply the parameter --auth-proxy /path/to/program  then  rclone
6487       will  use  that  program to generate backends on the fly which then are
6488       used to authenticate incoming requests.  This uses a simple JSON  based
6489       protocol with input on STDIN and output on STDOUT.
6490
6491       PLEASE  NOTE: --auth-proxy and --authorized-keys cannot be used togeth‐
6492       er, if --auth-proxy is set the authorized keys option will be ignored.
6493
6494       There      is      an      example      program       bin/test_proxy.py
6495       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
6496       rclone source code.
6497
6498       The program's job is to take a user and pass  on  the  input  and  turn
6499       those  into  the  config  for a backend on STDOUT in JSON format.  This
6500       config will have any default parameters for the backend added,  but  it
6501       won't  use configuration from environment variables or command line op‐
6502       tions - it is the job of the proxy program to make a complete config.
6503
6504       This config generated must have this extra parameter - _root - root  to
6505       use for the backend
6506
6507       And it may have this parameter - _obscure - comma separated strings for
6508       parameters to obscure
6509
6510       If password authentication was used by the client, input to  the  proxy
6511       process (on STDIN) would look similar to this:
6512
6513              {
6514                  "user": "me",
6515                  "pass": "mypassword"
6516              }
6517
6518       If public-key authentication was used by the client, input to the proxy
6519       process (on STDIN) would look similar to this:
6520
6521              {
6522                  "user": "me",
6523                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
6524              }
6525
6526       And as an example return this on STDOUT
6527
6528              {
6529                  "type": "sftp",
6530                  "_root": "",
6531                  "_obscure": "pass",
6532                  "user": "me",
6533                  "pass": "mypassword",
6534                  "host": "sftp.example.com"
6535              }
6536
6537       This would mean that an SFTP backend would be created on  the  fly  for
6538       the  user and pass/public_key returned in the output to the host given.
6539       Note that since _obscure is set to pass, rclone will obscure  the  pass
6540       parameter before creating the backend (which is required for sftp back‐
6541       ends).
6542
6543       The program can manipulate the supplied user in any way, for example to
6544       make  proxy to many different sftp backends, you could make the user be
6545       user@example.com and then set the host to example.com in the output and
6546       the  user  to  user.   For security you'd probably want to restrict the
6547       host to a limited list.
6548
6549       Note that an internal cache is keyed on user so only use that for  con‐
6550       figuration,  don't  use  pass or public_key.  This also means that if a
6551       user's password or public-key is changed the cache will need to  expire
6552       (which takes 5 mins) before it takes effect.
6553
6554       This  can be used to build general purpose proxies to any kind of back‐
6555       end that rclone supports.
6556
6557              rclone serve sftp remote:path [flags]
6558
6559   Options
6560                    --addr string                            IPaddress:Port or :Port to bind server to (default "localhost:2022")
6561                    --auth-proxy string                      A program to use to create the backend from the auth
6562                    --authorized-keys string                 Authorized keys file (default "~/.ssh/authorized_keys")
6563                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
6564                    --dir-perms FileMode                     Directory permissions (default 0777)
6565                    --file-perms FileMode                    File permissions (default 0666)
6566                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
6567                -h, --help                                   help for sftp
6568                    --key stringArray                        SSH private host key file (Can be multi-valued, leave blank to auto generate)
6569                    --no-auth                                Allow connections with no authentication if set
6570                    --no-checksum                            Don't compare checksums on up/download
6571                    --no-modtime                             Don't read/write the modification time (can speed things up)
6572                    --no-seek                                Don't allow seeking in files
6573                    --pass string                            Password for authentication
6574                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
6575                    --read-only                              Mount read-only
6576                    --stdio                                  Run an sftp server on run stdin/stdout
6577                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
6578                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
6579                    --user string                            User name for authentication
6580                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
6581                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
6582                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
6583                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
6584                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
6585                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
6586                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
6587                    --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)
6588                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
6589                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
6590                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
6591                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
6592
6593       See the global flags page (https://rclone.org/flags/)  for  global  op‐
6594       tions not listed here.
6595
6596   SEE ALSO
6597       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
6598         remote over a protocol.
6599

rclone serve webdav

6601       Serve remote:path over webdav.
6602
6603   Synopsis
6604       rclone serve webdav implements a basic webdav server to serve  the  re‐
6605       mote over HTTP via the webdav protocol.  This can be viewed with a web‐
6606       dav client, through a web browser, or you can make  a  remote  of  type
6607       webdav to read and write it.
6608
6609   Webdav options
6610   --etag-hash
6611       This  controls  the  ETag  header.   Without this flag the ETag will be
6612       based on the ModTime and Size of the object.
6613
6614       If this flag is set to "auto" then rclone will choose  the  first  sup‐
6615       ported hash on the backend or you can use a named hash such as "MD5" or
6616       "SHA-1".
6617
6618       Use "rclone hashsum" to see the full list.
6619
6620   Server options
6621       Use --addr to specify which IP address and port the server should  lis‐
6622       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
6623       By default it only listens on localhost.  You can use port  :0  to  let
6624       the OS choose an available port.
6625
6626       If  you  set  --addr to listen on a public or LAN accessible IP address
6627       then using Authentication is advised - see the next section for info.
6628
6629       --server-read-timeout and --server-write-timeout can be used to control
6630       the  timeouts  on  the  server.  Note that this is the total time for a
6631       transfer.
6632
6633       --max-header-bytes controls the maximum number of bytes the server will
6634       accept in the HTTP header.
6635
6636       --baseurl  controls the URL prefix that rclone serves from.  By default
6637       rclone will serve from the root.  If you used --baseurl "/rclone"  then
6638       rclone would serve from a URL starting with "/rclone/".  This is useful
6639       if you wish to proxy rclone serve.  Rclone automatically inserts  lead‐
6640       ing  and  trailing  "/"  on --baseurl, so --baseurl "rclone", --baseurl
6641       "/rclone" and --baseurl "/rclone/" are all treated identically.
6642
6643       --template allows a user to specify a custom markup template  for  http
6644       and webdav serve functions.  The server exports the following markup to
6645       be used within the template to server pages:
6646
6647       Parameter                             Description
6648       ──────────────────────────────────────────────────────────────────────────
6649       .Name                                 The full path of a file/directory.
6650       .Title                                Directory listing of .Name
6651       .Sort                                 The current  sort  used.   This  is
6652                                             changeable via ?sort= parameter
6653                                             Sort                       Options:
6654                                             namedirfirst,name,size,time    (de‐
6655                                             fault namedirfirst)
6656       .Order                                The current ordering used.  This is
6657                                             changeable via ?order= parameter
6658                                             Order  Options:  asc,desc  (default
6659                                             asc)
6660       .Query                                Currently unused.
6661       .Breadcrumb                           Allows for creating a relative nav‐
6662                                             igation
6663       -- .Link                              The relative to the  root  link  of
6664                                             the Text.
6665       -- .Text                              The Name of the directory.
6666       .Entries                              Information    about   a   specific
6667                                             file/directory.
6668       -- .URL                               The 'url' of an entry.
6669       -- .Leaf                              Currently same as 'URL' but intend‐
6670                                             ed to be 'just' the name.
6671       -- .IsDir                             Boolean for if an entry is a direc‐
6672                                             tory or not.
6673       -- .Size                              Size in Bytes of the entry.
6674       -- .ModTime                           The UTC timestamp of an entry.
6675
6676   Authentication
6677       By default this will serve files without needing a login.
6678
6679       You can either use an htpasswd file which can take lots  of  users,  or
6680       set a single username and password with the --user and --pass flags.
6681
6682       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
6683       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
6684       authentication.  Bcrypt is recommended.
6685
6686       To create an htpasswd file:
6687
6688              touch htpasswd
6689              htpasswd -B htpasswd user
6690              htpasswd -B htpasswd anotherUser
6691
6692       The password file can be updated while rclone is running.
6693
6694       Use --realm to set the authentication realm.
6695
6696   SSL/TLS
6697       By  default  this will serve over http.  If you want you can serve over
6698       https.  You will need to supply the --cert and  --key  flags.   If  you
6699       wish  to  do  client  side certificate validation then you will need to
6700       supply --client-ca also.
6701
6702       --cert should be either a PEM encoded certificate or a concatenation of
6703       that  with the CA certificate.  --key should be the PEM encoded private
6704       key and --client-ca should be the PEM encoded  client  certificate  au‐
6705       thority certificate.
6706
6707   VFS - Virtual File System
6708       This command uses the VFS layer.  This adapts the cloud storage objects
6709       that rclone uses into something which looks much more like a disk  fil‐
6710       ing system.
6711
6712       Cloud  storage  objects  have lots of properties which aren't like disk
6713       files - you can't extend them or write to the middle of  them,  so  the
6714       VFS  layer has to deal with that.  Because there is no one right way of
6715       doing this there are various options explained below.
6716
6717       The VFS layer also implements a directory  cache  -  this  caches  info
6718       about files and directories (but not the data) in memory.
6719
6720   VFS Directory Cache
6721       Using  the  --dir-cache-time flag, you can control how long a directory
6722       should be considered up to date and not  refreshed  from  the  backend.
6723       Changes  made  through  the mount will appear immediately or invalidate
6724       the cache.
6725
6726              --dir-cache-time duration   Time to cache directory entries for (default 5m0s)
6727              --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)
6728
6729       However, changes made directly on the cloud storage by the  web  inter‐
6730       face  or a different copy of rclone will only be picked up once the di‐
6731       rectory cache expires  if  the  backend  configured  does  not  support
6732       polling  for changes.  If the backend supports polling, changes will be
6733       picked up within the polling interval.
6734
6735       You can send a SIGHUP signal to rclone for it to  flush  all  directory
6736       caches,  regardless  of how old they are.  Assuming only one rclone in‐
6737       stance is running, you can reset the cache like this:
6738
6739              kill -SIGHUP $(pidof rclone)
6740
6741       If you configure rclone with a remote control (/rc) then  you  can  use
6742       rclone rc to flush the whole directory cache:
6743
6744              rclone rc vfs/forget
6745
6746       Or individual files or directories:
6747
6748              rclone rc vfs/forget file=path/to/file dir=path/to/dir
6749
6750   VFS File Buffering
6751       The  --buffer-size  flag  determines the amount of memory, that will be
6752       used to buffer data in advance.
6753
6754       Each open file will try to keep the specified amount of data in  memory
6755       at all times.  The buffered data is bound to one open file and won't be
6756       shared.
6757
6758       This flag is a upper limit for the used memory per open file.  The buf‐
6759       fer  will  only  use memory for data that is downloaded but not not yet
6760       read.  If the buffer is empty, only a small amount of  memory  will  be
6761       used.
6762
6763       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
6764       fer-size * open files.
6765
6766   VFS File Caching
6767       These flags control the VFS file caching options.  File caching is nec‐
6768       essary  to make the VFS layer appear compatible with a normal file sys‐
6769       tem.  It can be disabled at the cost of some compatibility.
6770
6771       For example you'll need to enable VFS caching if you want to  read  and
6772       write simultaneously to a file.  See below for more details.
6773
6774       Note  that the VFS cache is separate from the cache backend and you may
6775       find that you need one or the other or both.
6776
6777              --cache-dir string                   Directory rclone will use for caching.
6778              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
6779              --vfs-cache-max-age duration         Max age of objects in the cache (default 1h0m0s)
6780              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache (default off)
6781              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects (default 1m0s)
6782              --vfs-write-back duration            Time to writeback files after last use when using cache (default 5s)
6783
6784       If run with -vv rclone will print the location of the file cache.   The
6785       files  are stored in the user cache file area which is OS dependent but
6786       can be controlled with --cache-dir or setting the appropriate  environ‐
6787       ment variable.
6788
6789       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
6790       higher the cache mode the more compatible rclone becomes at the cost of
6791       using disk space.
6792
6793       Note  that  files  are  written  back  to the remote only when they are
6794       closed and if they haven't been accessed for --vfs-write-back  seconds.
6795       If  rclone is quit or dies with files that haven't been uploaded, these
6796       will be uploaded next time rclone is run with the same flags.
6797
6798       If using --vfs-cache-max-size note that the cache may exceed this  size
6799       for   two   reasons.    Firstly   because  it  is  only  checked  every
6800       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
6801       evicted from the cache.
6802
6803       You  should  not run two copies of rclone using the same VFS cache with
6804       the same or overlapping remotes if using --vfs-cache-mode > off.   This
6805       can  potentially  cause data corruption if you do.  You can work around
6806       this by giving each rclone its own cache  hierarchy  with  --cache-dir.
6807       You don't need to worry about this if the remotes in use don't overlap.
6808
6809   --vfs-cache-mode off
6810       In this mode (the default) the cache will read directly from the remote
6811       and write directly to the remote without caching anything on disk.
6812
6813       This will mean some operations are not possible
6814
6815       • Files can't be opened for both read AND write
6816
6817       • Files opened for write can't be seeked
6818
6819       • Existing files opened for write must have O_TRUNC set
6820
6821       • Files open for read with O_TRUNC will be opened write only
6822
6823       • Files open for write only will behave as if O_TRUNC was supplied
6824
6825       • Open modes O_APPEND, O_TRUNC are ignored
6826
6827       • If an upload fails it can't be retried
6828
6829   --vfs-cache-mode minimal
6830       This is very similar to "off" except that files  opened  for  read  AND
6831       write will be buffered to disk.  This means that files opened for write
6832       will be a lot more compatible, but uses the minimal disk space.
6833
6834       These operations are not possible
6835
6836       • Files opened for write only can't be seeked
6837
6838       • Existing files opened for write must have O_TRUNC set
6839
6840       • Files opened for write only will ignore O_APPEND, O_TRUNC
6841
6842       • If an upload fails it can't be retried
6843
6844   --vfs-cache-mode writes
6845       In this mode files opened for read only are still  read  directly  from
6846       the remote, write only and read/write files are buffered to disk first.
6847
6848       This mode should support all normal file system operations.
6849
6850       If  an  upload fails it will be retried at exponentially increasing in‐
6851       tervals up to 1 minute.
6852
6853   --vfs-cache-mode full
6854       In this mode all reads and writes are buffered to and from disk.   When
6855       data is read from the remote this is buffered to disk as well.
6856
6857       In  this  mode  the  files in the cache will be sparse files and rclone
6858       will keep track of which bits of the files it has downloaded.
6859
6860       So if an application only reads the starts of each  file,  then  rclone
6861       will  only buffer the start of the file.  These files will appear to be
6862       their full size in the cache, but they will be sparse files  with  only
6863       the data that has been downloaded present in them.
6864
6865       This  mode should support all normal file system operations and is oth‐
6866       erwise identical to --vfs-cache-mode writes.
6867
6868       When   reading   a   file   rclone   will   read   --buffer-size   plus
6869       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
6870       whereas the --vfs-read-ahead is buffered on disk.
6871
6872       When using this mode it is recommended that --buffer-size  is  not  set
6873       too large and --vfs-read-ahead is set large if required.
6874
6875       IMPORTANT  not  all  file  systems support sparse files.  In particular
6876       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
6877       ry  is  on  a filesystem which doesn't support sparse files and it will
6878       log an ERROR message if one is detected.
6879
6880   VFS Chunked Reading
6881       When rclone reads files from a remote it reads them  in  chunks.   This
6882       means that rather than requesting the whole file rclone reads the chunk
6883       specified.  This can reduce the used download quota for some remotes by
6884       requesting  only  chunks from the remote that are actually read, at the
6885       cost of an increased number of requests.
6886
6887       These flags control the chunking:
6888
6889              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks (default 128M)
6890              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default off)
6891
6892       Rclone will start reading a chunk of  size  --vfs-read-chunk-size,  and
6893       then  double  the size for each read.  When --vfs-read-chunk-size-limit
6894       is specified, and greater than --vfs-read-chunk-size,  the  chunk  size
6895       for  each  open file will get doubled only until the specified value is
6896       reached.  If the value is "off", which is the  default,  the  limit  is
6897       disabled and the chunk size will grow indefinitely.
6898
6899       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
6900       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
6901       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
6902       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
6903       1200M-1700M and so on.
6904
6905       Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
6906
6907   VFS Performance
6908       These  flags may be used to enable/disable features of the VFS for per‐
6909       formance or other reasons.  See also the chunked reading feature.
6910
6911       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
6912       (or  use  --use-server-modtime for a slightly different effect) as each
6913       read of the modification time takes a transaction.
6914
6915              --no-checksum     Don't compare checksums on up/download.
6916              --no-modtime      Don't read/write the modification time (can speed things up).
6917              --no-seek         Don't allow seeking in files.
6918              --read-only       Mount read-only.
6919
6920       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
6921       than  seeking rclone will wait a short time for the in sequence read or
6922       write to come in.  These flags only come into effect when not using  an
6923       on disk cache file.
6924
6925              --vfs-read-wait duration   Time to wait for in-sequence read before seeking (default 20ms)
6926              --vfs-write-wait duration  Time to wait for in-sequence write before giving error (default 1s)
6927
6928       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
6929       full), the global flag --transfers can be set to adjust the  number  of
6930       parallel  uploads of modified files from cache (the related global flag
6931       --checkers have no effect on mount).
6932
6933              --transfers int  Number of file transfers to run in parallel (default 4)
6934
6935   VFS Case Sensitivity
6936       Linux file systems are case-sensitive: two files  can  differ  only  by
6937       case, and the exact case must be used when opening a file.
6938
6939       File  systems  in modern Windows are case-insensitive but case-preserv‐
6940       ing: although existing files can be opened using any  case,  the  exact
6941       case used to create the file is preserved and available for programs to
6942       query.  It is not allowed for two files in the same directory to differ
6943       only by case.
6944
6945       Usually  file systems on macOS are case-insensitive.  It is possible to
6946       make macOS file systems case-sensitive but that is not the default.
6947
6948       The --vfs-case-insensitive mount flag controls how rclone handles these
6949       two  cases.   If  its value is "false", rclone passes file names to the
6950       mounted file system as-is.  If the flag is "true" (or appears without a
6951       value  on  command line), rclone may perform a "fixup" as explained be‐
6952       low.
6953
6954       The user may specify a file name to open/delete/rename/etc with a  case
6955       different  than  what is stored on mounted file system.  If an argument
6956       refers to an existing file with exactly the same name, then the case of
6957       the  existing  file  on the disk will be used.  However, if a file name
6958       with exactly the same name is not found but a name  differing  only  by
6959       case exists, rclone will transparently fixup the name.  This fixup hap‐
6960       pens only when an existing file is requested.  Case sensitivity of file
6961       names  created  anew  by  rclone is controlled by an underlying mounted
6962       file system.
6963
6964       Note that case sensitivity of the operating system running rclone  (the
6965       target)  may  differ  from case sensitivity of a file system mounted by
6966       rclone (the source).  The flag controls whether "fixup" is performed to
6967       satisfy the target.
6968
6969       If the flag is not provided on the command line, then its default value
6970       depends on the operating system where rclone runs:  "true"  on  Windows
6971       and macOS, "false" otherwise.  If the flag is provided without a value,
6972       then it is "true".
6973
6974   Alternate report of used bytes
6975       Some backends, most notably S3, do not report the amount of bytes used.
6976       If  you  need  this  information to be available when running df on the
6977       filesystem, then pass the flag --vfs-used-is-size to rclone.  With this
6978       flag set, instead of relying on the backend to report this information,
6979       rclone will scan the whole remote similar to rclone  size  and  compute
6980       the total used space itself.
6981
6982       WARNING. Contrary to rclone size, this flag ignores filters so that the
6983       result is accurate.  However, this is very  inefficient  and  may  cost
6984       lots  of API calls resulting in extra charges.  Use it as a last resort
6985       and only with caching.
6986
6987   Auth Proxy
6988       If you supply the parameter --auth-proxy /path/to/program  then  rclone
6989       will  use  that  program to generate backends on the fly which then are
6990       used to authenticate incoming requests.  This uses a simple JSON  based
6991       protocol with input on STDIN and output on STDOUT.
6992
6993       PLEASE  NOTE: --auth-proxy and --authorized-keys cannot be used togeth‐
6994       er, if --auth-proxy is set the authorized keys option will be ignored.
6995
6996       There      is      an      example      program       bin/test_proxy.py
6997       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
6998       rclone source code.
6999
7000       The program's job is to take a user and pass  on  the  input  and  turn
7001       those  into  the  config  for a backend on STDOUT in JSON format.  This
7002       config will have any default parameters for the backend added,  but  it
7003       won't  use configuration from environment variables or command line op‐
7004       tions - it is the job of the proxy program to make a complete config.
7005
7006       This config generated must have this extra parameter - _root - root  to
7007       use for the backend
7008
7009       And it may have this parameter - _obscure - comma separated strings for
7010       parameters to obscure
7011
7012       If password authentication was used by the client, input to  the  proxy
7013       process (on STDIN) would look similar to this:
7014
7015              {
7016                  "user": "me",
7017                  "pass": "mypassword"
7018              }
7019
7020       If public-key authentication was used by the client, input to the proxy
7021       process (on STDIN) would look similar to this:
7022
7023              {
7024                  "user": "me",
7025                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
7026              }
7027
7028       And as an example return this on STDOUT
7029
7030              {
7031                  "type": "sftp",
7032                  "_root": "",
7033                  "_obscure": "pass",
7034                  "user": "me",
7035                  "pass": "mypassword",
7036                  "host": "sftp.example.com"
7037              }
7038
7039       This would mean that an SFTP backend would be created on  the  fly  for
7040       the  user and pass/public_key returned in the output to the host given.
7041       Note that since _obscure is set to pass, rclone will obscure  the  pass
7042       parameter before creating the backend (which is required for sftp back‐
7043       ends).
7044
7045       The program can manipulate the supplied user in any way, for example to
7046       make  proxy to many different sftp backends, you could make the user be
7047       user@example.com and then set the host to example.com in the output and
7048       the  user  to  user.   For security you'd probably want to restrict the
7049       host to a limited list.
7050
7051       Note that an internal cache is keyed on user so only use that for  con‐
7052       figuration,  don't  use  pass or public_key.  This also means that if a
7053       user's password or public-key is changed the cache will need to  expire
7054       (which takes 5 mins) before it takes effect.
7055
7056       This  can be used to build general purpose proxies to any kind of back‐
7057       end that rclone supports.
7058
7059              rclone serve webdav remote:path [flags]
7060
7061   Options
7062                    --addr string                            IPaddress:Port or :Port to bind server to (default "localhost:8080")
7063                    --auth-proxy string                      A program to use to create the backend from the auth
7064                    --baseurl string                         Prefix for URLs - leave blank for root
7065                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
7066                    --client-ca string                       Client certificate authority to verify clients with
7067                    --dir-cache-time duration                Time to cache directory entries for (default 5m0s)
7068                    --dir-perms FileMode                     Directory permissions (default 0777)
7069                    --disable-dir-list                       Disable HTML directory list on GET request for a directory
7070                    --etag-hash string                       Which hash to use for the ETag, or auto or blank for off
7071                    --file-perms FileMode                    File permissions (default 0666)
7072                    --gid uint32                             Override the gid field set by the filesystem (not supported on Windows) (default 1000)
7073                -h, --help                                   help for webdav
7074                    --htpasswd string                        htpasswd file - if not provided no authentication is done
7075                    --key string                             SSL PEM Private key
7076                    --max-header-bytes int                   Maximum size of request header (default 4096)
7077                    --no-checksum                            Don't compare checksums on up/download
7078                    --no-modtime                             Don't read/write the modification time (can speed things up)
7079                    --no-seek                                Don't allow seeking in files
7080                    --pass string                            Password for authentication
7081                    --poll-interval duration                 Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
7082                    --read-only                              Mount read-only
7083                    --realm string                           realm for authentication (default "rclone")
7084                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
7085                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
7086                    --template string                        User-specified template
7087                    --uid uint32                             Override the uid field set by the filesystem (not supported on Windows) (default 1000)
7088                    --umask int                              Override the permission bits set by the filesystem (not supported on Windows) (default 2)
7089                    --user string                            User name for authentication
7090                    --vfs-cache-max-age duration             Max age of objects in the cache (default 1h0m0s)
7091                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache (default off)
7092                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
7093                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects (default 1m0s)
7094                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match
7095                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full
7096                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks (default 128Mi)
7097                    --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)
7098                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking (default 20ms)
7099                    --vfs-used-is-size rclone size           Use the rclone size algorithm for Used size
7100                    --vfs-write-back duration                Time to writeback files after last use when using cache (default 5s)
7101                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error (default 1s)
7102
7103       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7104       tions not listed here.
7105
7106   SEE ALSO
7107       • rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
7108         remote over a protocol.
7109

rclone settier

7111       Changes storage class/tier of objects in remote.
7112
7113   Synopsis
7114       rclone settier changes storage tier or class at  remote  if  supported.
7115       Few  cloud  storage  services provides different storage classes on ob‐
7116       jects, for example AWS S3 and Glacier, Azure Blob storage -  Hot,  Cool
7117       and Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline
7118       etc.
7119
7120       Note that, certain tier changes make objects not  available  to  access
7121       immediately.   For  example  tiering  to  archive in azure blob storage
7122       makes objects in frozen state, user can  restore  by  setting  tier  to
7123       Hot/Cool, similarly S3 to Glacier makes object inaccessible.true
7124
7125       You can use it to tier single object
7126
7127              rclone settier Cool remote:path/file
7128
7129       Or use rclone filters to set tier on only specific files
7130
7131              rclone --include "*.txt" settier Hot remote:path/dir
7132
7133       Or  just  provide  remote  directory and all files in directory will be
7134       tiered
7135
7136              rclone settier tier remote:path/dir
7137
7138              rclone settier tier remote:path [flags]
7139
7140   Options
7141                -h, --help   help for settier
7142
7143       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7144       tions not listed here.
7145
7146   SEE ALSO
7147       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
7148         commands, flags and backends.
7149

rclone test

7151       Run a test command
7152
7153   Synopsis
7154       Rclone test is used to run test commands.
7155
7156       Select which test comand you want with the subcommand, eg
7157
7158              rclone test memory remote:
7159
7160       Each subcommand has its own options which you can see in their help.
7161
7162       NB Be careful running these commands, they may  do  strange  things  so
7163       reading their documentation first is recommended.
7164
7165   Options
7166                -h, --help   help for test
7167
7168       See  the  global  flags page (https://rclone.org/flags/) for global op‐
7169       tions not listed here.
7170
7171   SEE ALSO
7172       • rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
7173         commands, flags and backends.
7174
7175       • rclone        test        changenotify       (https://rclone.org/com
7176         mands/rclone_test_changenotify/) - Log any change notify requests for
7177         the remote passed in.
7178
7179       • rclone  test  histogram (https://rclone.org/commands/rclone_test_his
7180         togram/) - Makes a histogram of file name characters.
7181
7182       • rclone test  info  (https://rclone.org/commands/rclone_test_info/)  -
7183         Discovers file name or other limitations for paths.
7184
7185       • rclone  test makefiles (https://rclone.org/commands/rclone_test_make
7186         files/) - Make a random file hierarchy in a directory
7187
7188       • rclone test memory  (https://rclone.org/commands/rclone_test_memory/)
7189         -  Load  all the objects at remote:path into memory and report memory
7190         stats.
7191

rclone test changenotify

7193       Log any change notify requests for the remote passed in.
7194
7195              rclone test changenotify remote: [flags]
7196
7197   Options
7198                -h, --help                     help for changenotify
7199                    --poll-interval duration   Time to wait between polling for changes (default 10s)
7200
7201       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7202       tions not listed here.
7203
7204   SEE ALSO
7205       • rclone  test  (https://rclone.org/commands/rclone_test/) - Run a test
7206         command
7207

rclone test histogram

7209       Makes a histogram of file name characters.
7210
7211   Synopsis
7212       This command outputs JSON which shows the histogram of characters  used
7213       in filenames in the remote:path specified.
7214
7215       The  data doesn't contain any identifying information but is useful for
7216       the rclone developers when developing filename compression.
7217
7218              rclone test histogram [remote:path] [flags]
7219
7220   Options
7221                -h, --help   help for histogram
7222
7223       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7224       tions not listed here.
7225
7226   SEE ALSO
7227       • rclone  test  (https://rclone.org/commands/rclone_test/) - Run a test
7228         command
7229

rclone test info

7231       Discovers file name or other limitations for paths.
7232
7233   Synopsis
7234       rclone info discovers what filenames and upload methods are possible to
7235       write  to  the  paths  passed in and how long they can be.  It can take
7236       some time.  It will write test files into the  remote:path  passed  in.
7237       It outputs a bit of go code for each one.
7238
7239       NB this can create undeletable files and other hazards - use with care
7240
7241              rclone test info [remote:path]+ [flags]
7242
7243   Options
7244                    --all                    Run all tests
7245                    --check-control          Check control characters
7246                    --check-length           Check max filename length
7247                    --check-normalization    Check UTF-8 Normalization
7248                    --check-streaming        Check uploads with indeterminate file size
7249                -h, --help                   help for info
7250                    --upload-wait duration   Wait after writing a file
7251                    --write-json string      Write results to file
7252
7253       See  the  global  flags page (https://rclone.org/flags/) for global op‐
7254       tions not listed here.
7255
7256   SEE ALSO
7257       • rclone test (https://rclone.org/commands/rclone_test/) - Run  a  test
7258         command
7259

rclone test makefiles

7261       Make a random file hierarchy in a directory
7262
7263              rclone test makefiles <dir> [flags]
7264
7265   Options
7266                    --files int                  Number of files to create (default 1000)
7267                    --files-per-directory int    Average number of files per directory (default 10)
7268                -h, --help                       help for makefiles
7269                    --max-file-size SizeSuffix   Maximum size of files to create (default 100)
7270                    --max-name-length int        Maximum size of file names (default 12)
7271                    --min-file-size SizeSuffix   Minimum size of file to create
7272                    --min-name-length int        Minimum size of file names (default 4)
7273                    --seed int                   Seed for the random number generator (0 for random) (default 1)
7274
7275       See  the  global  flags page (https://rclone.org/flags/) for global op‐
7276       tions not listed here.
7277
7278   SEE ALSO
7279       • rclone test (https://rclone.org/commands/rclone_test/) - Run  a  test
7280         command
7281

rclone test memory

7283       Load  all  the  objects  at  remote:path  into memory and report memory
7284       stats.
7285
7286              rclone test memory remote:path [flags]
7287
7288   Options
7289                -h, --help   help for memory
7290
7291       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7292       tions not listed here.
7293
7294   SEE ALSO
7295       • rclone  test  (https://rclone.org/commands/rclone_test/) - Run a test
7296         command
7297

rclone touch

7299       Create new file or change file modification time.
7300
7301   Synopsis
7302       Set the modification time on file(s) as  specified  by  remote:path  to
7303       have the current time.
7304
7305       If  remote:path  does not exist then a zero sized file will be created,
7306       unless --no-create or --recursive is provided.
7307
7308       If --recursive is used then recursively sets the modification  time  on
7309       all  existing files that is found under the path.  Filters are support‐
7310       ed, and you can test with the --dry-run or the --interactive flag.
7311
7312       If --timestamp is used then sets the modification time to that time in‐
7313       stead of the current time.  Times may be specified as one of:
7314
7315       • 'YYMMDD' - e.g.  17.10.30
7316
7317       • 'YYYY-MM-DDTHH:MM:SS' - e.g.  2006-01-02T15:04:05
7318
7319       • 'YYYY-MM-DDTHH:MM:SS.SSS' - e.g.  2006-01-02T15:04:05.123456789
7320
7321       Note  that value of --timestamp is in UTC.  If you want local time then
7322       add the --localtime flag.
7323
7324              rclone touch remote:path [flags]
7325
7326   Options
7327                -h, --help               help for touch
7328                    --localtime          Use localtime for timestamp, not UTC
7329                -C, --no-create          Do not create the file if it does not exist (implied with --recursive)
7330                -R, --recursive          Recursively touch all files
7331                -t, --timestamp string   Use specified time instead of the current time of day
7332
7333       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7334       tions not listed here.
7335
7336   SEE ALSO
7337       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
7338         commands, flags and backends.
7339

rclone tree

7341       List the contents of the remote in a tree like fashion.
7342
7343   Synopsis
7344       rclone tree lists the contents of a remote in a similar way to the unix
7345       tree command.
7346
7347       For example
7348
7349              $ rclone tree remote:path
7350              /
7351              ├── file1
7352              ├── file2
7353              ├── file3
7354              └── subdir
7355                  ├── file4
7356                  └── file5
7357
7358              1 directories, 5 files
7359
7360       You  can  use  any of the filtering options with the tree command (e.g.
7361       --include and --exclude).  You can also use --fast-list.
7362
7363       The tree command has many options for controlling the listing which are
7364       compatible with the tree command.  Note that not all of them have short
7365       options as they conflict with rclone's short options.
7366
7367              rclone tree remote:path [flags]
7368
7369   Options
7370                -a, --all             All files are listed (list . files too)
7371                -C, --color           Turn colorization on always
7372                -d, --dirs-only       List directories only
7373                    --dirsfirst       List directories before files (-U disables)
7374                    --full-path       Print the full path prefix for each file
7375                -h, --help            help for tree
7376                    --human           Print the size in a more human readable way.
7377                    --level int       Descend only level directories deep
7378                -D, --modtime         Print the date of last modification.
7379                    --noindent        Don't print indentation lines
7380                    --noreport        Turn off file/directory count at end of tree listing
7381                -o, --output string   Output to file instead of stdout
7382                -p, --protections     Print the protections for each file.
7383                -Q, --quote           Quote filenames with double quotes.
7384                -s, --size            Print the size in bytes of each file.
7385                    --sort string     Select sort: name,version,size,mtime,ctime
7386                    --sort-ctime      Sort files by last status change time
7387                -t, --sort-modtime    Sort files by last modification time
7388                -r, --sort-reverse    Reverse the order of the sort
7389                -U, --unsorted        Leave files unsorted
7390                    --version         Sort files alphanumerically by version
7391
7392       See the global flags page (https://rclone.org/flags/)  for  global  op‐
7393       tions not listed here.
7394
7395   SEE ALSO
7396       • rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
7397         commands, flags and backends.
7398
7399   Copying single files
7400       rclone normally syncs or copies directories.  However,  if  the  source
7401       remote points to a file, rclone will just copy that file.  The destina‐
7402       tion remote must point to a directory -  rclone  will  give  the  error
7403       Failed  to create file system for "remote:file": is a file not a direc‐
7404       tory if it isn't.
7405
7406       For example, suppose you have a remote with a file in called  test.jpg,
7407       then you could copy just that file like this
7408
7409              rclone copy remote:test.jpg /tmp/download
7410
7411       The file test.jpg will be placed inside /tmp/download.
7412
7413       This is equivalent to specifying
7414
7415              rclone copy --files-from /tmp/files remote: /tmp/download
7416
7417       Where /tmp/files contains the single line
7418
7419              test.jpg
7420
7421       It  is recommended to use copy when copying individual files, not sync.
7422       They have pretty much the same effect but copy will use a lot less mem‐
7423       ory.
7424
7425   Syntax of remote paths
7426       The syntax of the paths passed to the rclone command are as follows.
7427
7428   /path/to/dir
7429       This refers to the local file system.
7430
7431       On  Windows  \  may be used instead of / in local paths only, non local
7432       paths  must  use  /.   See  local  filesystem   (https://rclone.org/lo
7433       cal/#paths-on-windows)  documentation  for  more about Windows-specific
7434       paths.
7435
7436       These paths needn't start with a leading / - if they  don't  then  they
7437       will be relative to the current directory.
7438
7439   remote:path/to/dir
7440       This  refers  to  a  directory path/to/dir on remote: as defined in the
7441       config file (configured with rclone config).
7442
7443   remote:/path/to/dir
7444       On  most  backends  this  is  refers  to  the  same  directory  as  re‐
7445       mote:path/to/dir  and that format should be preferred.  On a very small
7446       number of remotes (FTP, SFTP, Dropbox for business) this will refer  to
7447       a  different directory.  On these, paths without a leading / will refer
7448       to your "home" directory and paths with a leading / will refer  to  the
7449       root.
7450
7451   :backend:path/to/dir
7452       This  is  an  advanced  form  for creating remotes on the fly.  backend
7453       should be the name or prefix of a backend (the type in the config file)
7454       and  all  the  configuration  for the backend should be provided on the
7455       command line (or in environment variables).
7456
7457       Here are some examples:
7458
7459              rclone lsd --http-url https://pub.rclone.org :http:
7460
7461       To list all the directories in the root of https://pub.rclone.org/.
7462
7463              rclone lsf --http-url https://example.com :http:path/to/dir
7464
7465       To list files and directories in https://example.com/path/to/dir/
7466
7467              rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
7468
7469       To copy files and  directories  in  https://example.com/path/to/dir  to
7470       /tmp/dir.
7471
7472              rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
7473
7474       To copy files and directories from example.com in the relative directo‐
7475       ry path/to/dir to /tmp/dir using sftp.
7476
7477   Connection strings
7478       The above examples can also be written using a connection  string  syn‐
7479       tax,  so  instead of providing the arguments as command line parameters
7480       --http-url https://pub.rclone.org they are provided as part of the  re‐
7481       mote specification as a kind of connection string.
7482
7483              rclone lsd ":http,url='https://pub.rclone.org':"
7484              rclone lsf ":http,url='https://example.com':path/to/dir"
7485              rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
7486              rclone copy :sftp,host=example.com:path/to/dir /tmp/dir
7487
7488       These  can  apply  to modify existing remotes as well as create new re‐
7489       motes with the on the fly syntax.  This example is equivalent to adding
7490       the --drive-shared-with-me parameter to the remote gdrive:.
7491
7492              rclone lsf "gdrive,shared_with_me:path/to/dir"
7493
7494       The major advantage to using the connection string style syntax is that
7495       it only applies to the remote, not to all the remotes of that  type  of
7496       the  command  line.   A common confusion is this attempt to copy a file
7497       shared on google drive to the normal drive which does not work  because
7498       the --drive-shared-with-me flag applies to both the source and the des‐
7499       tination.
7500
7501              rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive:
7502
7503       However using the connection string syntax, this does work.
7504
7505              rclone copy "gdrive,shared_with_me:shared-file.txt" gdrive:
7506
7507       Note that the connection string only affects the options of the immedi‐
7508       ate  backend.   If  for example gdriveCrypt is a crypt based on gdrive,
7509       then  the  following  command  will  not  work  as  intended,   because
7510       shared_with_me is ignored by the crypt backend:
7511
7512              rclone copy "gdriveCrypt,shared_with_me:shared-file.txt" gdriveCrypt:
7513
7514       The connection strings have the following syntax
7515
7516              remote,parameter=value,parameter2=value2:path/to/dir
7517              :backend,parameter=value,parameter2=value2:path/to/dir
7518
7519       If  the parameter has a : or , then it must be placed in quotes " or ',
7520       so
7521
7522              remote,parameter="colon:value",parameter2="comma,value":path/to/dir
7523              :backend,parameter='colon:value',parameter2='comma,value':path/to/dir
7524
7525       If a quoted value needs to include that quote, then it should  be  dou‐
7526       bled, so
7527
7528              remote,parameter="with""quote",parameter2='with''quote':path/to/dir
7529
7530       This will make parameter be with"quote and parameter2 be with'quote.
7531
7532       If you leave off the =parameter then rclone will substitute =true which
7533       works very well with flags.  For example to use s3  configured  in  the
7534       environment you could use:
7535
7536              rclone lsd :s3,env_auth:
7537
7538       Which is equivalent to
7539
7540              rclone lsd :s3,env_auth=true:
7541
7542       Note  that on the command line you might need to surround these connec‐
7543       tion strings with " or ' to stop the  shell  interpreting  any  special
7544       characters within them.
7545
7546       If  you  are  a  shell master then you'll know which strings are OK and
7547       which aren't, but if you aren't sure then enclose them in " and  use  '
7548       as the inside quote.  This syntax works on all OSes.
7549
7550              rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
7551
7552       On  Linux/macOS  some characters are still interpreted inside " strings
7553       in the shell (notably \ and $ and ") so if your strings  contain  those
7554       you  can swap the roles of " and ' thus.  (This syntax does not work on
7555       Windows.)
7556
7557              rclone copy ':http,url="https://example.com":path/to/dir' /tmp/dir
7558
7559   Connection strings, config and logging
7560       If you supply extra configuration to a backend by  command  line  flag,
7561       environment variable or connection string then rclone will add a suffix
7562       based on the hash of the config to the name of the remote, eg
7563
7564              rclone -vv lsf --s3-chunk-size 20M s3:
7565
7566       Has the log message
7567
7568              DEBUG : s3: detected overridden config - adding "{Srj1p}" suffix to name
7569
7570       This is so rclone can tell the modified remote apart from  the  unmodi‐
7571       fied remote when caching the backends.
7572
7573       This should only be noticeable in the logs.
7574
7575       This means that on the fly backends such as
7576
7577              rclone -vv lsf :s3,env_auth:
7578
7579       Will get their own names
7580
7581              DEBUG : :s3: detected overridden config - adding "{YTu53}" suffix to name
7582
7583   Valid remote names
7584       Remote  names  are  case  sensitive,  and  must adhere to the following
7585       rules: - May only contain 0-9, A-Z, a-z, _, - and  space.   -  May  not
7586       start with - or space.
7587
7588   Quoting and the shell
7589       When  you  are typing commands to your computer you are using something
7590       called the command line shell.  This interprets various  characters  in
7591       an OS specific way.
7592
7593       Here  are  some  gotchas which may help users unfamiliar with the shell
7594       rules
7595
7596   Linux / OSX
7597       If your names have spaces or shell metacharacters (e.g.  *, ?, $, ', ",
7598       etc.) then you must quote them.  Use single quotes ' by default.
7599
7600              rclone copy 'Important files?' remote:backup
7601
7602       If you want to send a ' you will need to use ", e.g.
7603
7604              rclone copy "O'Reilly Reviews" remote:backup
7605
7606       The  rules  for  quoting metacharacters are complicated and if you want
7607       the full details you'll have to consult the manual page for your shell.
7608
7609   Windows
7610       If your names have spaces in you need to put them in ", e.g.
7611
7612              rclone copy "E:\folder name\folder name\folder name" remote:backup
7613
7614       If you are using the root directory on its own then don't quote it (see
7615       #464 (https://github.com/rclone/rclone/issues/464) for why), e.g.
7616
7617              rclone copy E:\ remote:backup
7618
7619   Copying files or directories with : in the names
7620       rclone  uses  : to mark a remote name.  This is, however, a valid file‐
7621       name component in non-Windows OSes.  The remote name parser  will  only
7622       search for a : up to the first / so if you need to act on a file or di‐
7623       rectory like this then use the full path starting with a /, or  use  ./
7624       as a current directory prefix.
7625
7626       So to sync a directory called sync:me to a remote called remote: use
7627
7628              rclone sync -i ./sync:me remote:path
7629
7630       or
7631
7632              rclone sync -i /full/path/to/sync:me remote:path
7633
7634   Server Side Copy
7635       Most  remotes (but not all - see the overview (https://rclone.org/over
7636       view/#optional-features)) support server-side copy.
7637
7638       This means if you want to copy one folder to another then rclone  won't
7639       download  all the files and re-upload them; it will instruct the server
7640       to copy them in place.
7641
7642       Eg
7643
7644              rclone copy s3:oldbucket s3:newbucket
7645
7646       Will copy the contents of oldbucket to  newbucket  without  downloading
7647       and re-uploading.
7648
7649       Remotes  which  don't support server-side copy will download and re-up‐
7650       load in this case.
7651
7652       Server side copies are used with sync and copy and will  be  identified
7653       in  the log when using the -v flag.  The move command may also use them
7654       if remote doesn't support server-side move directly.  This is  done  by
7655       issuing  a  server-side copy then a delete which is much quicker than a
7656       download and re-upload.
7657
7658       Server side copies will only be attempted if the remote names  are  the
7659       same.
7660
7661       This can be used when scripting to make aged backups efficiently, e.g.
7662
7663              rclone sync -i remote:current-backup remote:previous-backup
7664              rclone sync -i /path/to/files remote:current-backup
7665
7666   Options
7667       Rclone has a number of options to control its behaviour.
7668
7669       Options  that  take  parameters can have the values passed in two ways,
7670       --option=value or --option value.  However boolean (true/false) options
7671       behave slightly differently to the other options in that --boolean sets
7672       the option to true and the absence of the flag sets it to false.  It is
7673       also  possible to specify --boolean=false or --boolean=true.  Note that
7674       --boolean false is not valid - this is  parsed  as  --boolean  and  the
7675       false is parsed as an extra command line argument for rclone.
7676
7677       Options  which use TIME use the go time parser.  A duration string is a
7678       possibly signed sequence of decimal numbers, each with  optional  frac‐
7679       tion  and  a  unit  suffix, such as "300ms", "-1.5h" or "2h45m".  Valid
7680       time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
7681
7682       Options which use SIZE use KiB (multiples of 1024  bytes)  by  default.
7683       However, a suffix of B for Byte, K for KiB, M for MiB, G for GiB, T for
7684       TiB and P for PiB may be used.  These are the binary  units,  e.g.   1,
7685       2**10, 2**20, 2**30 respectively.
7686
7687   --backup-dir=DIR
7688       When using sync, copy or move any files which would have been overwrit‐
7689       ten or deleted are moved in their original hierarchy into this directo‐
7690       ry.
7691
7692       If  --suffix is set, then the moved files will have the suffix added to
7693       them.  If there is a file with the same path (after the suffix has been
7694       added) in DIR, then it will be overwritten.
7695
7696       The  remote  in  use must support server-side move or copy and you must
7697       use the same remote as the destination of the sync.  The backup  direc‐
7698       tory must not overlap the destination directory.
7699
7700       For example
7701
7702              rclone sync -i /path/to/local remote:current --backup-dir remote:old
7703
7704       will  sync  /path/to/local  to  remote:current, but for any files which
7705       would have been updated or deleted will be stored in remote:old.
7706
7707       If running rclone from a script you might want to use today's  date  as
7708       the  directory  name  passed to --backup-dir to store the old files, or
7709       you might want to pass --suffix with today's date.
7710
7711       See --compare-dest and --copy-dest.
7712
7713   --bind string
7714       Local address to bind to for outgoing connections.  This can be an IPv4
7715       address  (1.2.3.4),  an IPv6 address (1234::789A) or host name.  If the
7716       host name doesn't resolve or resolves to more than one  IP  address  it
7717       will give an error.
7718
7719   --bwlimit=BANDWIDTH_SPEC
7720       This option controls the bandwidth limit.  For example
7721
7722              --bwlimit 10M
7723
7724       would  mean  limit  the  upload and download bandwidth to 10 MiB/s.  NB
7725       this is bytes per second not bits per second.  To use a  single  limit,
7726       specify  the  desired  bandwidth in KiB/s, or use a suffix B|K|M|G|T|P.
7727       The default is 0 which means to not limit bandwidth.
7728
7729       The upload and download  bandwidth  can  be  specified  seperately,  as
7730       --bwlimit UP:DOWN, so
7731
7732              --bwlimit 10M:100k
7733
7734       would  mean  limit  the  upload  bandwidth to 10 MiB/s and the download
7735       bandwidth to 100 KiB/s.  Either limit can be "off" meaning no limit, so
7736       to just limit the upload bandwidth you would use
7737
7738              --bwlimit 10M:off
7739
7740       this  would  limit  the  upload  bandwidth to 10 MiB/s but the download
7741       bandwidth would be unlimited.
7742
7743       When specified as above the bandwidth limits last for the  duration  of
7744       run of the rclone binary.
7745
7746       It  is  also  possible  to  specify a "timetable" of limits, which will
7747       cause certain limits to be applied at  certain  times.   To  specify  a
7748       timetable,   format   your  entries  as  WEEKDAY-HH:MM,BANDWIDTH  WEEK‐
7749       DAY-HH:MM,BANDWIDTH... where: WEEKDAY is optional element.
7750
7751       • BANDWIDTH can be a single number, e.g.100k or a pair of  numbers  for
7752         upload:download, e.g.10M:1M.
7753
7754       • WEEKDAY  can  be  written as the whole word or only using the first 3
7755         characters.  It is optional.
7756
7757       • HH:MM is an hour from 00:00 to 23:59.
7758
7759       An example of a typical timetable to avoid link saturation during  day‐
7760       time working hours could be:
7761
7762       --bwlimit "08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off"
7763
7764       In this example, the transfer bandwidth will be set to 512 KiB/s at 8am
7765       every day.  At noon, it will rise to 10 MiB/s, and  drop  back  to  512
7766       KiB/sec  at  1pm.  At 6pm, the bandwidth limit will be set to 30 MiB/s,
7767       and at 11pm it will be completely disabled (full speed).  Anything  be‐
7768       tween 11pm and 8am will remain unlimited.
7769
7770       An example of timetable with WEEKDAY could be:
7771
7772       --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
7773
7774       It  means that, the transfer bandwidth will be set to 512 KiB/s on Mon‐
7775       day.  It will rise to 10 MiB/s before the end of Friday.  At  10:00  on
7776       Saturday  it  will  be set to 1 MiB/s.  From 20:00 on Sunday it will be
7777       unlimited.
7778
7779       Timeslots without WEEKDAY are extended to the whole week.  So this  ex‐
7780       ample:
7781
7782       --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
7783
7784       Is equivalent to this:
7785
7786       --bwlimit    "Mon-00:00,512Mon-12:00,1M    Tue-12:00,1M    Wed-12:00,1M
7787       Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off"
7788
7789       Bandwidth limit apply to the data transfer for all backends.  For  most
7790       backends  the  directory listing bandwidth is also included (exceptions
7791       being the non HTTP backends, ftp, sftp and tardigrade).
7792
7793       Note that the units are Byte/s, not bit/s.  Typically  connections  are
7794       measured in bit/s - to convert divide by 8.  For example, let's say you
7795       have a 10 Mbit/s connection and you wish rclone to use half of it  -  5
7796       Mbit/s.   This is 5/8 = 0.625 MiB/s so you would use a --bwlimit 0.625M
7797       parameter for rclone.
7798
7799       On Unix systems (Linux, macOS, ...) the bandwidth limiter can  be  tog‐
7800       gled  by sending a SIGUSR2 signal to rclone.  This allows to remove the
7801       limitations of a long running rclone transfer and to restore it back to
7802       the value specified with --bwlimit quickly when needed.  Assuming there
7803       is only one rclone instance running, you can toggle  the  limiter  like
7804       this:
7805
7806              kill -SIGUSR2 $(pidof rclone)
7807
7808       If  you  configure  rclone with a remote control (/rc) then you can use
7809       change the bwlimit dynamically:
7810
7811              rclone rc core/bwlimit rate=1M
7812
7813   --bwlimit-file=BANDWIDTH_SPEC
7814       This option controls per file bandwidth limit.  For the options see the
7815       --bwlimit flag.
7816
7817       For example use this to allow no transfers to be faster than 1 MiB/s
7818
7819              --bwlimit-file 1M
7820
7821       This can be used in conjunction with --bwlimit.
7822
7823       Note  that  if a schedule is provided the file will use the schedule in
7824       effect at the start of the transfer.
7825
7826   --buffer-size=SIZE
7827       Use this sized buffer to speed up file transfers.  Each --transfer will
7828       use this much memory for buffering.
7829
7830       When using mount or cmount each open file descriptor will use this much
7831       memory  for  buffering.    See   the   mount   (https://rclone.org/com
7832       mands/rclone_mount/#file-buffering) documentation for more details.
7833
7834       Set to 0 to disable the buffering for the minimum memory usage.
7835
7836       Note  that  the  memory  allocation of the buffers is influenced by the
7837       --use-mmap flag.
7838
7839   --cache-dir=DIR
7840       Specify the directory rclone will use for caching, to override the  de‐
7841       fault.
7842
7843       Default  value is depending on operating system: - Windows %LocalAppDa‐
7844       ta%\rclone,  if   LocalAppData   is   defined.    -   macOS   $HOME/Li‐
7845       brary/Caches/rclone  if HOME is defined.  - Unix $XDG_CACHE_HOME/rclone
7846       if XDG_CACHE_HOME is defined, else $HOME/.cache/rclone if HOME  is  de‐
7847       fined.   -  Fallback (on all OS) to $TMPDIR/rclone, where TMPDIR is the
7848       value from --temp-dir.
7849
7850       You can use the config  paths  (https://rclone.org/commands/rclone_con
7851       fig_paths/) command to see the current value.
7852
7853       Cache   directory   is   heavily   used   by   the   VFS  File  Caching
7854       (https://rclone.org/commands/rclone_mount/#vfs-file-caching) mount fea‐
7855       ture,  but  also  by serve (https://rclone.org/commands/rclone_serve/),
7856       GUI (/gui) and other parts of rclone.
7857
7858   --check-first
7859       If this flag is set then in a sync, copy or move, rclone  will  do  all
7860       the checks to see whether files need to be transferred before doing any
7861       of the transfers.  Normally rclone would  start  running  transfers  as
7862       soon as possible.
7863
7864       This flag can be useful on IO limited systems where transfers interfere
7865       with checking.
7866
7867       It can also be useful to ensure perfect ordering when using --order-by.
7868
7869       Using this flag can use more memory as it effectively sets  --max-back‐
7870       log to infinite.  This means that all the info on the objects to trans‐
7871       fer is held in memory before the transfers start.
7872
7873   --checkers=N
7874       The number of checkers to run in parallel.  Checkers  do  the  equality
7875       checking  of  files during a sync.  For some storage systems (e.g.  S3,
7876       Swift, Dropbox) this can take a significant amount of time so they  are
7877       run in parallel.
7878
7879       The default is to run 8 checkers in parallel.
7880
7881   -c, --checksum
7882       Normally rclone will look at modification time and size of files to see
7883       if they are equal.  If you set this flag then  rclone  will  check  the
7884       file hash and size to determine if files are equal.
7885
7886       This  is  useful  when the remote doesn't support setting modified time
7887       and a more accurate sync is desired than just checking the file size.
7888
7889       This is very useful when transferring between remotes which  store  the
7890       same  hash  type  on the object, e.g.  Drive and Swift.  For details of
7891       which remotes support which hash type see the  table  in  the  overview
7892       section (https://rclone.org/overview/).
7893
7894       Eg  rclone  --checksum  sync  s3:/bucket  swift:/bucket  would run much
7895       quicker than without the --checksum flag.
7896
7897       When using this flag, rclone won't update mtimes  of  remote  files  if
7898       they are incorrect as it would normally.
7899
7900   --compare-dest=DIR
7901       When  using sync, copy or move DIR is checked in addition to the desti‐
7902       nation for files.  If a file identical to the source is found that file
7903       is NOT copied from source.  This is useful to copy just files that have
7904       changed since the last backup.
7905
7906       You must use the same remote as the destination of the sync.  The  com‐
7907       pare directory must not overlap the destination directory.
7908
7909       See --copy-dest and --backup-dir.
7910
7911   --config=CONFIG_FILE
7912       Specify  the location of the rclone configuration file, to override the
7913       default.  E.g.  rclone config --config="rclone.conf".
7914
7915       The exact default is a bit complex to describe, due to  changes  intro‐
7916       duced  through  different versions of rclone while preserving backwards
7917       compatibility, but in most cases it is as simple as:
7918
7919       • %APPDATA%/rclone/rclone.conf on Windows
7920
7921       • ~/.config/rclone/rclone.conf on other
7922
7923       The complete logic is as follows: Rclone will look for an existing con‐
7924       figuration file in any of the following locations, in priority order:
7925
7926       1. rclone.conf (in program directory, where rclone executable is)
7927
7928       2. %APPDATA%/rclone/rclone.conf (only on Windows)
7929
7930       3. $XDG_CONFIG_HOME/rclone/rclone.conf  (on all systems, including Win‐
7931          dows)
7932
7933       4. ~/.config/rclone/rclone.conf (see below for explanation of ~ symbol)
7934
7935       5. ~/.rclone.conf
7936
7937       If no existing configuration file is found, then a new one will be cre‐
7938       ated in the following location:
7939
7940       • On  Windows:  Location  2  listed above, except in the unlikely event
7941         that APPDATA is not defined, then location 4 is used instead.
7942
7943       • On Unix: Location 3 if XDG_CONFIG_HOME is defined, else location 4.
7944
7945       • Fallback to location 5 (on all OS), when the rclone directory  cannot
7946         be  created,  but  if  also  a home directory was not found then path
7947         .rclone.conf relative to current working directory will be used as  a
7948         final resort.
7949
7950       The ~ symbol in paths above represent the home directory of the current
7951       user on any OS, and the value is defined as following:
7952
7953       • On  Windows:  %HOME%  if  defined,  else   %USERPROFILE%,   or   else
7954         %HOMEDRIVE%\%HOMEPATH%.
7955
7956       • On Unix: $HOME if defined, else by looking up current user in OS-spe‐
7957         cific user database (e.g.  passwd file), or else use the result  from
7958         shell command cd && pwd.
7959
7960       If  you  run rclone config file you will see where the default location
7961       is for you.
7962
7963       The fact that an existing file rclone.conf in the same directory as the
7964       rclone  executable is always preferred, means that it is easy to run in
7965       "portable" mode by downloading rclone executable to a writable directo‐
7966       ry and then create an empty file rclone.conf in the same directory.
7967
7968       If  the  location is set to empty string "" or path to a file with name
7969       notfound, or the os null device represented by value NUL on Windows and
7970       /dev/null  on  Unix  systems,  then rclone will keep the config file in
7971       memory only.
7972
7973       The   file   format   is   basic   INI    (https://en.wikipedia.org/wi
7974       ki/INI_file#Format):  Sections  of  text, led by a [section] header and
7975       followed by key=value entries on separate lines.  In rclone each remote
7976       is  represented  by its own section, where the section name defines the
7977       name of the remote.  Options are specified as  the  key=value  entries,
7978       where the key is the option name without the --backend- prefix, in low‐
7979       ercase and with _ instead of -.  E.g.  option --mega-hard-delete corre‐
7980       sponds  to  key hard_delete.  Only backend options can be specified.  A
7981       special,  and  required,  key  type  identifies  the   storage   system
7982       (https://rclone.org/overview/),  where the value is the internal lower‐
7983       case name as returned by command rclone help  backends.   Comments  are
7984       indicated by ; or # at the beginning of a line.
7985
7986       Example:
7987
7988              [megaremote]
7989              type = mega
7990              user = you@example.com
7991              pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
7992
7993       Note   that   passwords   are   in   obscured  (https://rclone.org/com
7994       mands/rclone_obscure/) form.   Also,  many  storage  systems  uses  to‐
7995       ken-based  authentication instead of passwords, and this requires addi‐
7996       tional steps.  It is easier, and safer, to use the interactive  command
7997       rclone config instead of manually editing the configuration file.
7998
7999       The  configuration  file  will typically contain login information, and
8000       should therefore have restricted permissions so that only  the  current
8001       user can read it.  Rclone tries to ensure this when it writes the file.
8002       You may also choose to encrypt the file.
8003
8004       When token-based authentication are used, the configuration  file  must
8005       be writable, because rclone needs to update the tokens inside it.
8006
8007   --contimeout=TIME
8008       Set  the  connection  timeout.   This should be in go time format which
8009       looks like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
8010
8011       The connection timeout is the amount of time rclone  will  wait  for  a
8012       connection  to  go through to a remote object storage system.  It is 1m
8013       by default.
8014
8015   --copy-dest=DIR
8016       When using sync, copy or move DIR is checked in addition to the  desti‐
8017       nation for files.  If a file identical to the source is found that file
8018       is server-side copied from DIR to the destination.  This is useful  for
8019       incremental backup.
8020
8021       The  remote  in  use must support server-side copy and you must use the
8022       same remote as the destination of the sync.  The compare directory must
8023       not overlap the destination directory.
8024
8025       See --compare-dest and --backup-dir.
8026
8027   --dedupe-mode MODE
8028       Mode  to  run dedupe command in.  One of interactive, skip, first, new‐
8029       est, oldest, rename.  The default is interactive.  See the dedupe  com‐
8030       mand for more information as to what these options mean.
8031
8032   --disable FEATURE,FEATURE,...
8033       This disables a comma separated list of optional features.  For example
8034       to disable server-side move and server-side copy use:
8035
8036              --disable move,copy
8037
8038       The features can be put in any case.
8039
8040       To see a list of which features can be disabled use:
8041
8042              --disable help
8043
8044       See the overview features  (https://rclone.org/overview/#features)  and
8045       optional  features  (https://rclone.org/overview/#optional-features) to
8046       get an idea of which feature does what.
8047
8048       This flag can be useful for debugging and in exceptional  circumstances
8049       (e.g.   Google Drive limiting the total volume of Server Side Copies to
8050       100 GiB/day).
8051
8052   --dscp VALUE
8053       Specify a DSCP value or name to use in connections.   This  could  help
8054       QoS system to identify traffic class.  BE, EF, DF, LE, CSx and AFxx are
8055       allowed.
8056
8057       See      the      description      of      differentiated      services
8058       (https://en.wikipedia.org/wiki/Differentiated_services)  to get an idea
8059       of this field.  Setting this to 1 (LE) to identify the  flow  to  SCAV‐
8060       ENGER  class  can  avoid occupying too much bandwidth in a network with
8061       DiffServ support (RFC 8622 (https://tools.ietf.org/html/rfc8622)).
8062
8063       For example, if you configured QoS on router  to  handle  LE  properly.
8064       Running:
8065
8066              rclone copy --dscp LE from:/from to:/to
8067
8068       would make the priority lower than usual internet flows.
8069
8070       This   option   has   no   effect   on   Windows  (see  golang/go#42728
8071       (https://github.com/golang/go/issues/42728)).
8072
8073   -n, --dry-run
8074       Do a trial run with no permanent changes.  Use this to see what  rclone
8075       would  do  without  actually doing it.  Useful when setting up the sync
8076       command which deletes files in the destination.
8077
8078   --expect-continue-timeout=TIME
8079       This specifies the amount of time to wait for a server's first response
8080       headers  after  fully writing the request headers if the request has an
8081       "Expect: 100-continue" header.  Not all backends support using this.
8082
8083       Zero means no timeout and causes the body to be sent immediately, with‐
8084       out  waiting for the server to approve.  This time does not include the
8085       time to send the request header.
8086
8087       The default is 1s.  Set to 0 to disable.
8088
8089   --error-on-no-transfer
8090       By default, rclone will exit with return code 0 if there  were  no  er‐
8091       rors.
8092
8093       This option allows rclone to return exit code 9 if no files were trans‐
8094       ferred between the source and destination.  This allows using rclone in
8095       scripts,  and triggering follow-on actions if data was copied, or skip‐
8096       ping if not.
8097
8098       NB: Enabling this option turns a usually non-fatal error into a  poten‐
8099       tially fatal one - please check and adjust your scripts accordingly!
8100
8101   --fs-cache-expire-duration=TIME
8102       When  using rclone via the API rclone caches created remotes for 5 min‐
8103       utes by default in the "fs cache".  This means that if you do  repeated
8104       actions  on  the  same  remote then rclone won't have to build it again
8105       from scratch, which makes it more efficient.
8106
8107       This flag sets the time that the remotes are cached for.  If you set it
8108       to 0 (or negative) then rclone won't cache the remotes at all.
8109
8110       Note  that if you use some flags, eg --backup-dir and if this is set to
8111       0 rclone may build two remotes (one for the source or  destination  and
8112       one for the --backup-dir where it may have only built one before.
8113
8114   --fs-cache-expire-interval=TIME
8115       This  controls  how  often  rclone checks for cached remotes to expire.
8116       See the --fs-cache-expire-duration documentation above for  more  info.
8117       The default is 60s, set to 0 to disable expiry.
8118
8119   --header
8120       Add  an  HTTP header for all transactions.  The flag can be repeated to
8121       add multiple headers.
8122
8123       If you want to add headers only for uploads use --header-upload and  if
8124       you want to add headers only for downloads use --header-download.
8125
8126       This  flag is supported for all HTTP based backends even those not sup‐
8127       ported by --header-upload and --header-download so may  be  used  as  a
8128       workaround for those with care.
8129
8130              rclone ls remote:test --header "X-Rclone: Foo" --header "X-LetMeIn: Yes"
8131
8132   --header-download
8133       Add  an HTTP header for all download transactions.  The flag can be re‐
8134       peated to add multiple headers.
8135
8136              rclone sync -i s3:test/src ~/dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
8137
8138       See the GitHub issue here  (https://github.com/rclone/rclone/issues/59)
8139       for currently supported backends.
8140
8141   --header-upload
8142       Add  an  HTTP  header for all upload transactions.  The flag can be re‐
8143       peated to add multiple headers.
8144
8145              rclone sync -i ~/src s3:test/dst --header-upload "Content-Disposition: attachment; filename='cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
8146
8147       See the GitHub issue here  (https://github.com/rclone/rclone/issues/59)
8148       for currently supported backends.
8149
8150   --human-readable
8151       Rclone  commands  output  values  for sizes (e.g.  number of bytes) and
8152       counts (e.g.  number of files) either as raw numbers, or in human-read‐
8153       able format.
8154
8155       In  human-readable  format the values are scaled to larger units, indi‐
8156       cated with a suffix shown after the value, and rounded to  three  deci‐
8157       mals.   Rclone  consistently  uses binary units (powers of 2) for sizes
8158       and decimal units (powers of 10) for counts.  The unit prefix for  size
8159       is  according  to  IEC standard notation, e.g.  Ki for kibi.  Used with
8160       byte unit, 1 KiB means 1024 Byte.  In list type  of  output,  only  the
8161       unit prefix appended to the value (e.g.  9.762Ki), while in more textu‐
8162       al output the full unit is shown (e.g.  9.762 KiB).  For counts the  SI
8163       standard  notation  is  used,  e.g.  prefix k for kilo.  Used with file
8164       counts, 1k means 1000 files.
8165
8166       The various list (commands/rclone_ls/) commands output raw  numbers  by
8167       default.   Option  --human-readable will make them output values in hu‐
8168       man-readable format instead (with the short unit prefix).
8169
8170       The about (commands/rclone_about/) command  outputs  human-readable  by
8171       default,  with  a command-specific option --full to output the raw num‐
8172       bers instead.
8173
8174       Command size (commands/rclone_size/) outputs  both  human-readable  and
8175       raw numbers in the same output.
8176
8177       The  tree  (commands/rclone_tree/) command also considers --human-read‐
8178       able, but it will not use the exact same notation  as  the  other  com‐
8179       mands: It rounds to one decimal, and uses single letter suffix, e.g.  K
8180       instead of Ki.  The reason for this is that it relies  on  an  external
8181       library.
8182
8183       The  interactive command ncdu (commands/rclone_ncdu/) shows human-read‐
8184       able by default, and responds to key u for toggling human-readable for‐
8185       mat.
8186
8187   --ignore-case-sync
8188       Using  this  option  will  cause rclone to ignore the case of the files
8189       when synchronizing so files will not be copied/synced when the existing
8190       filenames are the same, even if the casing is different.
8191
8192   --ignore-checksum
8193       Normally  rclone  will  check  that  the checksums of transferred files
8194       match, and give an error "corrupted on transfer" if they don't.
8195
8196       You can use this option to skip that check.  You should only use it  if
8197       you have had the "corrupted on transfer" error message and you are sure
8198       you might want to transfer potentially corrupted data.
8199
8200   --ignore-existing
8201       Using this option will make rclone unconditionally skip all files  that
8202       exist on the destination, no matter the content of these files.
8203
8204       While  this  isn't  a generally recommended option, it can be useful in
8205       cases where your files change due to encryption.   However,  it  cannot
8206       correct partial transfers in case a transfer was interrupted.
8207
8208       When  performing  a  move/moveto  command, this flag will leave skipped
8209       files in the source location unchanged when a file with the  same  name
8210       exists on the destination.
8211
8212   --ignore-size
8213       Normally rclone will look at modification time and size of files to see
8214       if they are equal.  If you set this flag then rclone  will  check  only
8215       the  modification  time.   If --checksum is set then it only checks the
8216       checksum.
8217
8218       It will also cause rclone to skip verifying the sizes are the same  af‐
8219       ter transfer.
8220
8221       This  can  be  useful for transferring files to and from OneDrive which
8222       occasionally  misreports  the   size   of   image   files   (see   #399
8223       (https://github.com/rclone/rclone/issues/399) for more info).
8224
8225   -I, --ignore-times
8226       Using this option will cause rclone to unconditionally upload all files
8227       regardless of the state of files on the destination.
8228
8229       Normally rclone would skip any files that have  the  same  modification
8230       time and are the same size (or have the same checksum if using --check‐
8231       sum).
8232
8233   --immutable
8234       Treat source and destination files as immutable and disallow  modifica‐
8235       tion.
8236
8237       With  this  option set, files will be created and deleted as requested,
8238       but existing files will never be updated.  If an existing file does not
8239       match  between  the  source and destination, rclone will give the error
8240       Source and destination exist but do not match: immutable file modified.
8241
8242       Note that only commands which transfer files (e.g.  sync,  copy,  move)
8243       are  affected  by  this  behavior, and only modification is disallowed.
8244       Files may still be deleted explicitly (e.g.  delete, purge) or  implic‐
8245       itly  (e.g.   sync,  move).   Use  copy --immutable if it is desired to
8246       avoid deletion as well as modification.
8247
8248       This can be useful as an additional layer of protection  for  immutable
8249       or  append-only data sets (notably backup archives), where modification
8250       implies corruption and should not be propagated.
8251
8252   -i / --interactive
8253       This flag can be used to tell rclone that you wish a  manual  confirma‐
8254       tion before destructive operations.
8255
8256       It  is  recommended  that you use this flag while learning rclone espe‐
8257       cially with rclone sync.
8258
8259       For example
8260
8261              $ rclone delete -i /tmp/dir
8262              rclone: delete "important-file.txt"?
8263              y) Yes, this is OK (default)
8264              n) No, skip this
8265              s) Skip all delete operations with no more questions
8266              !) Do all delete operations with no more questions
8267              q) Exit rclone now.
8268              y/n/s/!/q> n
8269
8270       The options mean
8271
8272       • y: Yes, this operation should go ahead.  You can  also  press  Return
8273         for  this  to happen.  You'll be asked every time unless you choose s
8274         or !.
8275
8276       • n: No, do not do this operation.  You'll be asked every  time  unless
8277         you choose s or !.
8278
8279       • s:  Skip all the following operations of this type with no more ques‐
8280         tions.  This takes effect until rclone exits.  If there are any  dif‐
8281         ferent kind of operations you'll be prompted for them.
8282
8283       • !: Do all the following operations with no more questions.  Useful if
8284         you've decided that you don't mind rclone doing that kind  of  opera‐
8285         tion.   This takes effect until rclone exits .  If there are any dif‐
8286         ferent kind of operations you'll be prompted for them.
8287
8288       • q: Quit rclone now, just in case!
8289
8290   --leave-root
8291       During rmdirs it will not remove root directory, even if it's empty.
8292
8293   --log-file=FILE
8294       Log all of rclone's output to FILE.  This is  not  active  by  default.
8295       This can be useful for tracking down problems with syncs in combination
8296       with the -v flag.  See the Logging section for more info.
8297
8298       If FILE exists then rclone will append to it.
8299
8300       Note that if you are using the logrotate  program  to  manage  rclone's
8301       logs,  then  you  should  use the copytruncate option as rclone doesn't
8302       have a signal to rotate logs.
8303
8304   --log-format LIST
8305       Comma separated list of log format options.  Accepted options are date,
8306       time,  microseconds, pid, longfile, shortfile, UTC.  Any other keywords
8307       will be silently ignored.  pid will tag log messages with process iden‐
8308       tifier which useful with rclone mount --daemon.  Other accepted options
8309       are explained in the go documentation  (https://pkg.go.dev/log#pkg-con‐
8310       stants).  The default log format is "date,time".
8311
8312   --log-level LEVEL
8313       This sets the log level for rclone.  The default log level is NOTICE.
8314
8315       DEBUG is equivalent to -vv.  It outputs lots of debug info - useful for
8316       bug reports and really finding out what rclone is doing.
8317
8318       INFO is equivalent to -v.  It outputs information about  each  transfer
8319       and prints stats once a minute by default.
8320
8321       NOTICE  is  the default log level if no logging flags are supplied.  It
8322       outputs very little when things are working normally.  It outputs warn‐
8323       ings and significant events.
8324
8325       ERROR is equivalent to -q.  It only outputs error messages.
8326
8327   --use-json-log
8328       This  switches  the  log format to JSON for rclone.  The fields of json
8329       log are level, msg, source, time.
8330
8331   --low-level-retries NUMBER
8332       This controls the number of low level retries rclone does.
8333
8334       A low level retry is used to retry a failing operation - typically  one
8335       HTTP  request.  This might be uploading a chunk of a big file for exam‐
8336       ple.  You will see low level retries in the log with the -v flag.
8337
8338       This shouldn't need to be changed from the  default  in  normal  opera‐
8339       tions.   However, if you get a lot of low level retries you may wish to
8340       reduce the value so rclone moves on to a  high  level  retry  (see  the
8341       --retries flag) quicker.
8342
8343       Disable low level retries with --low-level-retries 1.
8344
8345   --max-backlog=N
8346       This  is  the  maximum  allowable  backlog of files in a sync/copy/move
8347       queued for being checked or transferred.
8348
8349       This can be set arbitrarily large.  It will only use  memory  when  the
8350       queue is in use.  Note that it will use in the order of N KiB of memory
8351       when the backlog is in use.
8352
8353       Setting this large allows rclone to calculate how many files are  pend‐
8354       ing  more  accurately,  give  a more accurate estimated finish time and
8355       make --order-by work more accurately.
8356
8357       Setting this small will make rclone more synchronous to the listings of
8358       the remote which may be desirable.
8359
8360       Setting  this  to  a  negative number will make the backlog as large as
8361       possible.
8362
8363   --max-delete=N
8364       This tells rclone not to delete more than N files.  If  that  limit  is
8365       exceeded  then a fatal error will be generated and rclone will stop the
8366       operation in progress.
8367
8368   --max-depth=N
8369       This modifies the recursion depth for all the commands except purge.
8370
8371       So if you do rclone --max-depth 1 ls remote:path you will see only  the
8372       files  in  the top level directory.  Using --max-depth 2 means you will
8373       see all the files in first two directory levels and so on.
8374
8375       For historical reasons the lsd command defaults to using a  --max-depth
8376       of 1 - you can override this with the command line flag.
8377
8378       You can use this command to disable recursion (with --max-depth 1).
8379
8380       Note that if you use this with sync and --delete-excluded the files not
8381       recursed through are considered excluded and will  be  deleted  on  the
8382       destination.   Test  first with --dry-run if you are not sure what will
8383       happen.
8384
8385   --max-duration=TIME
8386       Rclone will stop scheduling new transfers when it has run for the dura‐
8387       tion specified.
8388
8389       Defaults to off.
8390
8391       When the limit is reached any existing transfers will complete.
8392
8393       Rclone won't exit with an error if the transfer limit is reached.
8394
8395   --max-transfer=SIZE
8396       Rclone  will  stop transferring when it has reached the size specified.
8397       Defaults to off.
8398
8399       When the limit is reached all transfers will stop immediately.
8400
8401       Rclone will exit with exit code 8 if the transfer limit is reached.
8402
8403   --cutoff-mode=hard|soft|cautious
8404       This  modifies  the  behavior  of  --max-transfer  Defaults  to  --cut‐
8405       off-mode=hard.
8406
8407       Specifying  --cutoff-mode=hard  will stop transferring immediately when
8408       Rclone reaches the limit.
8409
8410       Specifying --cutoff-mode=soft will stop  starting  new  transfers  when
8411       Rclone reaches the limit.
8412
8413       Specifying  --cutoff-mode=cautious  will  try  to  prevent  Rclone from
8414       reaching the limit.
8415
8416   --modify-window=TIME
8417       When checking whether a file has been modified, this is the maximum al‐
8418       lowed  time  difference  that  a  file can have and still be considered
8419       equivalent.
8420
8421       The default is 1ns unless this is overridden by a remote.  For  example
8422       OS X only stores modification times to the nearest second so if you are
8423       reading and writing to an OS X filing system this will  be  1s  by  de‐
8424       fault.
8425
8426       This command line flag allows you to override that computed default.
8427
8428   --multi-thread-cutoff=SIZE
8429       When  downloading  files  to  the local backend above this size, rclone
8430       will use multiple threads to download the file (default 250M).
8431
8432       Rclone preallocates the file (using  fallocate(FALLOC_FL_KEEP_SIZE)  on
8433       unix  or  NTSetInformationFile  on Windows both of which takes no time)
8434       then each thread writes directly into the file at  the  correct  place.
8435       This  means  that  rclone  won't  create fragmented or sparse files and
8436       there won't be any assembly time at the end of the transfer.
8437
8438       The number  of  threads  used  to  download  is  controlled  by  --mul‐
8439       ti-thread-streams.
8440
8441       Use -vv if you wish to see info about the threads.
8442
8443       This  will  work  with  the  sync/copy/move  commands and friends copy‐
8444       to/moveto.  Multi thread downloads will be used with rclone  mount  and
8445       rclone serve if --vfs-cache-mode is set to writes or above.
8446
8447       NB  that this only works for a local destination but will work with any
8448       source.
8449
8450       NB that multi thread copies are disabled for local to local  copies  as
8451       they  are faster without unless --multi-thread-streams is set explicit‐
8452       ly.
8453
8454       NB on Windows using multi-thread downloads  will  cause  the  resulting
8455       files  to  be  sparse (https://en.wikipedia.org/wiki/Sparse_file).  Use
8456       --local-no-sparse to disable sparse files (which may cause long  delays
8457       at  the  start  of  downloads)  or  disable multi-thread downloads with
8458       --multi-thread-streams 0
8459
8460   --multi-thread-streams=N
8461       When using multi thread  downloads  (see  above  --multi-thread-cutoff)
8462       this  sets  the  maximum number of streams to use.  Set to 0 to disable
8463       multi thread downloads (Default 4).
8464
8465       Exactly how many streams rclone uses for the download  depends  on  the
8466       size  of  the file.  To calculate the number of download streams Rclone
8467       divides the size of the file by the  --multi-thread-cutoff  and  rounds
8468       up, up to the maximum set with --multi-thread-streams.
8469
8470       So  if  --multi-thread-cutoff  250M and --multi-thread-streams 4 are in
8471       effect (the defaults):
8472
8473       • 0..250 MiB files will be downloaded with 1 stream
8474
8475       • 250..500 MiB files will be downloaded with 2 streams
8476
8477       • 500..750 MiB files will be downloaded with 3 streams
8478
8479       • 750+ MiB files will be downloaded with 4 streams
8480
8481   --no-check-dest
8482       The --no-check-dest can be used with move or copy and it causes  rclone
8483       not to check the destination at all when copying files.
8484
8485       This means that:
8486
8487       • the destination is not listed minimising the API calls
8488
8489       • files are always transferred
8490
8491       • this  can  cause  duplicates  on remotes which allow it (e.g.  Google
8492         Drive)
8493
8494       • --retries 1 is recommended otherwise you'll transfer everything again
8495         on a retry
8496
8497       This  flag is useful to minimise the transactions if you know that none
8498       of the files are on the destination.
8499
8500       This is a specialized flag which should be ignored by most users!
8501
8502   --no-gzip-encoding
8503       Don't set Accept-Encoding: gzip.  This means that rclone won't ask  the
8504       server  for  compressed  files automatically.  Useful if you've set the
8505       server to return files with Content-Encoding:  gzip  but  you  uploaded
8506       compressed files.
8507
8508       There is no need to set this in normal operation, and doing so will de‐
8509       crease the network transfer efficiency of rclone.
8510
8511   --no-traverse
8512       The --no-traverse flag controls whether the destination file system  is
8513       traversed  when  using the copy or move commands.  --no-traverse is not
8514       compatible with sync and will be ignored if you supply it with sync.
8515
8516       If you are only copying a small number of files (or are filtering  most
8517       of  the  files)  and/or have a large number of files on the destination
8518       then --no-traverse will stop rclone listing the  destination  and  save
8519       time.
8520
8521       However,  if you are copying a large number of files, especially if you
8522       are doing a copy where lots of the files  under  consideration  haven't
8523       changed and won't need copying then you shouldn't use --no-traverse.
8524
8525       See rclone copy (https://rclone.org/commands/rclone_copy/) for an exam‐
8526       ple of how to use it.
8527
8528   --no-unicode-normalization
8529       Don't normalize unicode characters in filenames during  the  sync  rou‐
8530       tine.
8531
8532       Sometimes,  an operating system will store filenames containing unicode
8533       parts in their decomposed form (particularly macOS).  Some cloud  stor‐
8534       age  systems  will  then  recompose the unicode, resulting in duplicate
8535       files if the data is ever copied back to a local filesystem.
8536
8537       Using this flag will disable that functionality, treating each  unicode
8538       character  as unique.  For example, by default é and é will be normal‐
8539       ized into the same  character.   With  --no-unicode-normalization  they
8540       will be treated as unique characters.
8541
8542   --no-update-modtime
8543       When  using this flag, rclone won't update modification times of remote
8544       files if they are incorrect as it would normally.
8545
8546       This can be used if the remote is being synced with another  tool  also
8547       (e.g.  the Google Drive client).
8548
8549   --order-by string
8550       The  --order-by  flag  controls the order in which files in the backlog
8551       are processed in rclone sync, rclone copy and rclone move.
8552
8553       The order by string is constructed like this.  The first part describes
8554       what aspect is being measured:
8555
8556       • size - order by the size of the files
8557
8558       • name - order by the full path of the files
8559
8560       • modtime - order by the modification date of the files
8561
8562       This can have a modifier appended with a comma:
8563
8564       • ascending  or  asc  -  order so that the smallest (or oldest) is pro‐
8565         cessed first
8566
8567       • descending or desc - order so that the largest (or  newest)  is  pro‐
8568         cessed first
8569
8570       • mixed  -  order  so  that  the  smallest  is processed first for some
8571         threads and the largest for others
8572
8573       If the modifier is mixed then it can have an optional percentage (which
8574       defaults  to  50),  e.g.   size,mixed,25  which  means  that 25% of the
8575       threads should be taking the smallest items and 75% the  largest.   The
8576       threads  which  take  the  smallest first will always take the smallest
8577       first and likewise the largest first threads.  The mixed  mode  can  be
8578       useful  to  minimise the transfer time when you are transferring a mix‐
8579       ture of large and small files - the large files are  guaranteed  upload
8580       threads and bandwidth and the small files will be processed continuous‐
8581       ly.
8582
8583       If no modifier is supplied then the order is ascending.
8584
8585       For example
8586
8587       • --order-by size,desc - send the largest files first
8588
8589       • --order-by modtime,ascending - send the oldest files first
8590
8591       • --order-by name - send the files with alphabetically by path first
8592
8593       If the --order-by flag is not supplied or it is supplied with an  empty
8594       string  then  the  default  ordering  will be used which is as scanned.
8595       With --checkers 1 this is mostly alphabetical, however with the default
8596       --checkers 8 it is somewhat random.
8597
8598   Limitations
8599       The  --order-by  flag  does not do a separate pass over the data.  This
8600       means that it may transfer some files out of the order specified if
8601
8602       • there are no files in the backlog or the source has  not  been  fully
8603         scanned yet
8604
8605       • there are more than --max-backlog files in the backlog
8606
8607       Rclone will do its best to transfer the best file it has so in practice
8608       this should not cause a problem.  Think of --order-by as being more  of
8609       a best efforts flag rather than a perfect ordering.
8610
8611       If   you   want   perfect  ordering  then  you  will  need  to  specify
8612       --check-first which will find all the  files  which  need  transferring
8613       first before transferring any.
8614
8615   --password-command SpaceSepList
8616       This  flag  supplies  a program which should supply the config password
8617       when run.  This is an alternative to rclone prompting for the  password
8618       or setting the RCLONE_CONFIG_PASS variable.
8619
8620       The argument to this should be a command with a space separated list of
8621       arguments.  If one of the arguments has a space in then enclose  it  in
8622       ",  if you want a literal " in an argument then enclose the argument in
8623       " and double the ".  See CSV encoding  (https://godoc.org/encoding/csv)
8624       for more info.
8625
8626       Eg
8627
8628              --password-command echo hello
8629              --password-command echo "hello with space"
8630              --password-command echo "hello with ""quotes"" and space"
8631
8632       See the Configuration Encryption for more info.
8633
8634       See     a     Windows     PowerShell     example     on     the    Wiki
8635       (https://github.com/rclone/rclone/wiki/Windows-Powershell-use-rclone-
8636       password-command-for-Config-file-password).
8637
8638   -P, --progress
8639       This flag makes rclone update the stats in a static block in the termi‐
8640       nal providing a realtime overview of the transfer.
8641
8642       Any log messages will scroll above the static block.  Log messages will
8643       push  the static block down to the bottom of the terminal where it will
8644       stay.
8645
8646       Normally this is updated every 500mS but this period can be  overridden
8647       with the --stats flag.
8648
8649       This can be used with the --stats-one-line flag for a simpler display.
8650
8651       Note:   On  Windows  until  this  bug  (https://github.com/Azure/go-an
8652       siterm/issues/26) is fixed all non-ASCII characters  will  be  replaced
8653       with . when --progress is in use.
8654
8655   --progress-terminal-title
8656       This  flag, when used with -P/--progress, will print the string ETA: %s
8657       to the terminal title.
8658
8659   -q, --quiet
8660       This flag will limit rclone's output to error messages only.
8661
8662   --refresh-times
8663       The --refresh-times flag can be used to update  modification  times  of
8664       existing  files  when they are out of sync on backends which don't sup‐
8665       port hashes.
8666
8667       This is useful if you uploaded files with the incorrect timestamps  and
8668       you now wish to correct them.
8669
8670       This  flag  is  only useful for destinations which don't support hashes
8671       (e.g.  crypt).
8672
8673       This can be used any of the sync commands sync, copy or move.
8674
8675       To use this flag you will need to be doing a modification time sync (so
8676       not  using  --size-only  or  --checksum).  The flag will have no effect
8677       when using --size-only or --checksum.
8678
8679       If this flag is used when rclone comes to upload a file it  will  check
8680       to  see  if there is an existing file on the destination.  If this file
8681       matches the source with size (and checksum if available) but has a dif‐
8682       fering  timestamp  then  instead of re-uploading it, rclone will update
8683       the timestamp on the destination file.  If the checksum does not  match
8684       rclone will upload the new file.  If the checksum is absent (e.g.  on a
8685       crypt backend) then rclone will update the timestamp.
8686
8687       Note that some remotes can't set the modification time  without  re-up‐
8688       loading the file so this flag is less useful on them.
8689
8690       Normally  if  you are doing a modification time sync rclone will update
8691       modification times without --refresh-times  provided  that  the  remote
8692       supports checksums and the checksums match on the file.  However if the
8693       checksums are absent then rclone will upload the file rather than  set‐
8694       ting the timestamp as this is the safe behaviour.
8695
8696   --retries int
8697       Retry the entire sync if it fails this many times it fails (default 3).
8698
8699       Some remotes can be unreliable and a few retries help pick up the files
8700       which didn't get transferred because of errors.
8701
8702       Disable retries with --retries 1.
8703
8704   --retries-sleep=TIME
8705       This sets the interval between each retry specified by --retries
8706
8707       The default is 0.  Use 0 to disable.
8708
8709   --size-only
8710       Normally rclone will look at modification time and size of files to see
8711       if  they  are  equal.  If you set this flag then rclone will check only
8712       the size.
8713
8714       This can be useful transferring files from Dropbox which have been mod‐
8715       ified by the desktop sync client which doesn't set checksums of modifi‐
8716       cation times in the same way as rclone.
8717
8718   --stats=TIME
8719       Commands which transfer data (sync, copy, copyto,  move,  moveto)  will
8720       print data transfer stats at regular intervals to show their progress.
8721
8722       This sets the interval.
8723
8724       The default is 1m.  Use 0 to disable.
8725
8726       If  you  set the stats interval then all commands can show stats.  This
8727       can be useful when running other commands, check or mount for example.
8728
8729       Stats are logged at INFO level by default which means they  won't  show
8730       at  default  log  level  NOTICE.  Use --stats-log-level NOTICE or -v to
8731       make them show.  See the Logging section for more info on log levels.
8732
8733       Note that on macOS you can send a SIGINFO (which is normally ctrl-T  in
8734       the terminal) to make the stats print immediately.
8735
8736   --stats-file-name-length integer
8737       By  default,  the  --stats  output  will  truncate file names and paths
8738       longer  than  40  characters.   This   is   equivalent   to   providing
8739       --stats-file-name-length 40.  Use --stats-file-name-length 0 to disable
8740       any truncation of file names printed by stats.
8741
8742   --stats-log-level string
8743       Log level to show --stats output at.  This can be DEBUG, INFO,  NOTICE,
8744       or  ERROR.   The  default  is INFO.  This means at the default level of
8745       logging which is NOTICE the stats won't show - if you want them to then
8746       use --stats-log-level NOTICE.  See the Logging section for more info on
8747       log levels.
8748
8749   --stats-one-line
8750       When this is specified, rclone condenses the stats into a  single  line
8751       showing the most important stats only.
8752
8753   --stats-one-line-date
8754       When  this  is  specified,  rclone  enables  the  single-line stats and
8755       prepends the display with a date string.   The  default  is  2006/01/02
8756       15:04:05 -
8757
8758   --stats-one-line-date-format
8759       When  this  is  specified,  rclone  enables  the  single-line stats and
8760       prepends the display with a user-supplied date string.  The date string
8761       MUST     be     enclosed    in    quotes.     Follow    golang    specs
8762       (https://golang.org/pkg/time/#Time.Format) for date formatting syntax.
8763
8764   --stats-unit=bits|bytes
8765       By default, data transfer rates will be printed in bytes per second.
8766
8767       This option allows the data rate to be printed in bits per second.
8768
8769       Data transfer volume will still be reported in bytes.
8770
8771       The rate is reported as a binary unit, not SI unit.  So 1 Mbit/s equals
8772       1,048,576 bit/s and not 1,000,000 bit/s.
8773
8774       The default is bytes.
8775
8776   --suffix=SUFFIX
8777       When using sync, copy or move any files which would have been overwrit‐
8778       ten or deleted will have the suffix added to them.  If there is a  file
8779       with  the  same path (after the suffix has been added), then it will be
8780       overwritten.
8781
8782       The remote in use must support server-side move or copy  and  you  must
8783       use the same remote as the destination of the sync.
8784
8785       This  is  for use with files to add the suffix in the current directory
8786       or with --backup-dir.  See --backup-dir for more info.
8787
8788       For example
8789
8790              rclone copy -i /path/to/local/file remote:current --suffix .bak
8791
8792       will copy /path/to/local to remote:current, but  for  any  files  which
8793       would have been updated or deleted have .bak added.
8794
8795       If  using rclone sync with --suffix and without --backup-dir then it is
8796       recommended to put a filter rule in excluding the suffix otherwise  the
8797       sync will delete the backup files.
8798
8799              rclone sync -i /path/to/local/file remote:current --suffix .bak --exclude "*.bak"
8800
8801   --suffix-keep-extension
8802       When  using  --suffix, setting this causes rclone put the SUFFIX before
8803       the extension of the files that it backs up rather than after.
8804
8805       So let's say we had --suffix -2019-01-01,  without  the  flag  file.txt
8806       would be backed up to file.txt-2019-01-01 and with the flag it would be
8807       backed up to file-2019-01-01.txt.  This can be helpful to make sure the
8808       suffixed files can still be opened.
8809
8810   --syslog
8811       On capable OSes (not Windows or Plan9) send all log output to syslog.
8812
8813       This can be useful for running rclone in a script or rclone mount.
8814
8815   --syslog-facility string
8816       If  using  --syslog  this  sets the syslog facility (e.g.  KERN, USER).
8817       See man syslog for a list of possible facilities.  The default facility
8818       is DAEMON.
8819
8820   --temp-dir=DIR
8821       Specify  the directory rclone will use for temporary files, to override
8822       the default.  Make sure the directory exists and have  accessible  per‐
8823       missions.
8824
8825       By  default  the  operating  system's temp directory will be used: - On
8826       Unix systems, $TMPDIR if non-empty, else /tmp.  - On Windows, the first
8827       non-empty  value  from %TMP%, %TEMP%, %USERPROFILE%, or the Windows di‐
8828       rectory.
8829
8830       When overriding the default with this option, the specified  path  will
8831       be  set as value of environment variable TMPDIR on Unix systems and TMP
8832       and TEMP on Windows.
8833
8834       You can use the config  paths  (https://rclone.org/commands/rclone_con
8835       fig_paths/) command to see the current value.
8836
8837   --tpslimit float
8838       Limit  transactions  per  second to this number.  Default is 0 which is
8839       used to mean unlimited transactions per second.
8840
8841       A transaction is roughly defined as an API call; its exact meaning will
8842       depend  on  the  backend.   For  HTTP  based  backends  it  is  an HTTP
8843       PUT/GET/POST/etc and its response.  For FTP/SFTP it  is  a  round  trip
8844       transaction over TCP.
8845
8846       For example to limit rclone to 10 transactions per second use --tpslim‐
8847       it 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
8848
8849       Use this when the number of transactions  per  second  from  rclone  is
8850       causing  a  problem  with the cloud storage provider (e.g.  getting you
8851       banned or rate limited).
8852
8853       This can be very useful for rclone mount to control  the  behaviour  of
8854       applications using it.
8855
8856       This  limit  applies to all HTTP based backends and to the FTP and SFTP
8857       backends.  It does not apply to the local  backend  or  the  Tardigrade
8858       backend.
8859
8860       See also --tpslimit-burst.
8861
8862   --tpslimit-burst int
8863       Max burst of transactions for --tpslimit (default 1).
8864
8865       Normally  --tpslimit will do exactly the number of transaction per sec‐
8866       ond specified.  However if you supply --tps-burst then rclone can  save
8867       up  some transactions from when it was idle giving a burst of up to the
8868       parameter supplied.
8869
8870       For example if you provide --tpslimit-burst 10 then if rclone has  been
8871       idle  for  more  than 10*--tpslimit then it can do 10 transactions very
8872       quickly before they are limited again.
8873
8874       This may be used to increase performance of --tpslimit without changing
8875       the long term average number of transactions per second.
8876
8877   --track-renames
8878       By  default,  rclone doesn't keep track of renamed files, so if you re‐
8879       name a file locally then sync it to a remote, rclone  will  delete  the
8880       old file on the remote and upload a new copy.
8881
8882       If you use this flag, and the remote supports server-side copy or serv‐
8883       er-side move, and the source and destination have  a  compatible  hash,
8884       then  this will track renames during sync operations and perform renam‐
8885       ing server-side.
8886
8887       Files will be matched by size and hash - if both match  then  a  rename
8888       will be considered.
8889
8890       If  the  destination  does not support server-side copy or move, rclone
8891       will fall back to the default behaviour and log an error level  message
8892       to the console.
8893
8894       Encrypted  destinations  are not currently supported by --track-renames
8895       if --track-renames-strategy includes hash.
8896
8897       Note that --track-renames is incompatible with --no-traverse  and  that
8898       it uses extra memory to keep track of all the rename candidates.
8899
8900       Note also that --track-renames is incompatible with --delete-before and
8901       will select --delete-after instead of --delete-during.
8902
8903   --track-renames-strategy (hash,modtime,leaf,size)
8904       This option changes the matching criteria for --track-renames.
8905
8906       The matching is controlled by a comma separated selection of these  to‐
8907       kens:
8908
8909       • modtime  -  the  modification time of the file - not supported on all
8910         backends
8911
8912       • hash - the hash of the file contents - not supported on all backends
8913
8914       • leaf - the name of the file not including its directory name
8915
8916       • size - the size of the file (this is always enabled)
8917
8918       So using --track-renames-strategy modtime,leaf would match files  based
8919       on modification time, the leaf of the file name and the size only.
8920
8921       Using  --track-renames-strategy  modtime or leaf can enable --track-re‐
8922       names support for encrypted destinations.
8923
8924       If nothing is specified, the default option is matching by hashes.
8925
8926       Note that the hash strategy is not supported  with  encrypted  destina‐
8927       tions.
8928
8929   --delete-(before,during,after)
8930       This  option  allows  you to specify when files on your destination are
8931       deleted when you sync folders.
8932
8933       Specifying the value --delete-before will delete all files  present  on
8934       the  destination, but not on the source before starting the transfer of
8935       any new or updated files.  This uses two passes through the  file  sys‐
8936       tems, one for the deletions and one for the copies.
8937
8938       Specifying --delete-during will delete files while checking and upload‐
8939       ing files.  This is the fastest option and uses the least memory.
8940
8941       Specifying --delete-after (the default value) will  delay  deletion  of
8942       files  until  all new/updated files have been successfully transferred.
8943       The files to be deleted are collected in the copy pass then deleted af‐
8944       ter  the copy pass has completed successfully.  The files to be deleted
8945       are held in memory so this mode may  use  more  memory.   This  is  the
8946       safest  mode  as it will only delete files if there have been no errors
8947       subsequent to that.  If there have been  errors  before  the  deletions
8948       start then you will get the message not deleting files as there were IO
8949       errors.
8950
8951   --fast-list
8952       When doing anything which involves a  directory  listing  (e.g.   sync,
8953       copy,  ls  - in fact nearly every command), rclone normally lists a di‐
8954       rectory and processes it before using more directory lists  to  process
8955       any  subdirectories.   This  can be parallelised and works very quickly
8956       using the least amount of memory.
8957
8958       However, some remotes have a way of listing all files beneath a  direc‐
8959       tory  in one (or a small number) of transactions.  These tend to be the
8960       bucket based remotes (e.g.  S3, B2, GCS, Swift, Hubic).
8961
8962       If you use the --fast-list flag then rclone will use  this  method  for
8963       listing directories.  This will have the following consequences for the
8964       listing:
8965
8966       • It will use fewer transactions (important if you pay for them)
8967
8968       • It will use more memory.  Rclone has to load the whole  listing  into
8969         memory.
8970
8971       • It may be faster because it uses fewer transactions
8972
8973       • It may be slower because it can't be parallelized
8974
8975       rclone   should   always   give  identical  results  with  and  without
8976       --fast-list.
8977
8978       If you pay for transactions and can fit your entire sync  listing  into
8979       memory then --fast-list is recommended.  If you have a very big sync to
8980       do then don't use --fast-list otherwise you will run out of memory.
8981
8982       If you use --fast-list on a  remote  which  doesn't  support  it,  then
8983       rclone will just ignore it.
8984
8985   --timeout=TIME
8986       This  sets the IO idle timeout.  If a transfer has started but then be‐
8987       comes idle for this long it is considered broken and disconnected.
8988
8989       The default is 5m.  Set to 0 to disable.
8990
8991   --transfers=N
8992       The number of file transfers to run in parallel.  It can  sometimes  be
8993       useful to set this to a smaller number if the remote is giving a lot of
8994       timeouts or bigger if you have lots of bandwidth and a fast remote.
8995
8996       The default is to run 4 file transfers in parallel.
8997
8998   -u, --update
8999       This forces rclone to skip any files which exist on the destination and
9000       have a modified time that is newer than the source file.
9001
9002       This  can be useful when transferring to a remote which doesn't support
9003       mod times directly (or when using --use-server-modtime to  avoid  extra
9004       API  calls)  as it is more accurate than a --size-only check and faster
9005       than using --checksum.
9006
9007       If an existing destination file has a modification time  equal  (within
9008       the  computed modify window precision) to the source file's, it will be
9009       updated if the sizes are different.  If --checksum is set  then  rclone
9010       will update the destination if the checksums differ too.
9011
9012       If  an  existing destination file is older than the source file then it
9013       will be updated if the size or checksum differs from the source file.
9014
9015       On remotes which  don't  support  mod  time  directly  (or  when  using
9016       --use-server-modtime) the time checked will be the uploaded time.  This
9017       means that if uploading to one of these remotes, rclone will  skip  any
9018       files  which exist on the destination and have an uploaded time that is
9019       newer than the modification time of the source file.
9020
9021   --use-mmap
9022       If this flag is set then rclone will use anonymous memory allocated  by
9023       mmap on Unix based platforms and VirtualAlloc on Windows for its trans‐
9024       fer buffers (size controlled by --buffer-size).  Memory allocated  like
9025       this  does  not go on the Go heap and can be returned to the OS immedi‐
9026       ately when it is finished with.
9027
9028       If this flag is not set then rclone will allocate and free the  buffers
9029       using the Go memory allocator which may use more memory as memory pages
9030       are returned less aggressively to the OS.
9031
9032       It is possible this does not work well on all platforms so it  is  dis‐
9033       abled by default; in the future it may be enabled by default.
9034
9035   --use-server-modtime
9036       Some  object-store backends (e.g, Swift, S3) do not preserve file modi‐
9037       fication times (modtime).  On these backends, rclone stores the  origi‐
9038       nal  modtime  as additional metadata on the object.  By default it will
9039       make an API call to retrieve the metadata when the modtime is needed by
9040       an operation.
9041
9042       Use  this  flag  to  disable the extra API call and rely instead on the
9043       server's modified time.  In cases such as a local to remote sync  using
9044       --update, knowing the local file is newer than the time it was last up‐
9045       loaded to the remote is sufficient.  In  those  cases,  this  flag  can
9046       speed up the process and reduce the number of API calls necessary.
9047
9048       Using  this  flag on a sync operation without also using --update would
9049       cause all files modified at any time other than the last upload time to
9050       be uploaded again, which is probably not what you want.
9051
9052   -v, -vv, --verbose
9053       With  -v rclone will tell you about each file that is transferred and a
9054       small number of significant events.
9055
9056       With -vv rclone will become very verbose telling you about  every  file
9057       it  considers  and  transfers.  Please send bug reports with a log with
9058       this setting.
9059
9060   -V, --version
9061       Prints the version number
9062
9063   SSL/TLS options
9064       The outgoing SSL/TLS connections rclone makes can  be  controlled  with
9065       these  options.   For  example this can be very useful with the HTTP or
9066       WebDAV backends.  Rclone HTTP servers have their own set of  configura‐
9067       tion for SSL/TLS which you can find in their documentation.
9068
9069   --ca-cert string
9070       This  loads  the PEM encoded certificate authority certificate and uses
9071       it to verify the certificates of the servers rclone connects to.
9072
9073       If you have generated certificates signed with a local CA then you will
9074       need this flag to connect to servers using those certificates.
9075
9076   --client-cert string
9077       This loads the PEM encoded client side certificate.
9078
9079       This      is      used      for      mutual      TLS     authentication
9080       (https://en.wikipedia.org/wiki/Mutual_authentication).
9081
9082       The --client-key flag is required too when using this.
9083
9084   --client-key string
9085       This loads the PEM encoded client side private key used for mutual  TLS
9086       authentication.  Used in conjunction with --client-cert.
9087
9088   --no-check-certificate=true/false
9089       --no-check-certificate  controls whether a client verifies the server's
9090       certificate chain and host name.  If  --no-check-certificate  is  true,
9091       TLS  accepts  any certificate presented by the server and any host name
9092       in  that  certificate.   In  this   mode,   TLS   is   susceptible   to
9093       man-in-the-middle attacks.
9094
9095       This option defaults to false.
9096
9097       This should be used only for testing.
9098
9099   Configuration Encryption
9100       Your  configuration  file  contains  information for logging in to your
9101       cloud services.  This means that you should keep your rclone.conf  file
9102       in a secure location.
9103
9104       If  you  are in an environment where that isn't possible, you can add a
9105       password to your configuration.  This means that you will have to  sup‐
9106       ply the password every time you start rclone.
9107
9108       To add a password to your rclone configuration, execute rclone config.
9109
9110              >rclone config
9111              Current remotes:
9112
9113              e) Edit existing remote
9114              n) New remote
9115              d) Delete remote
9116              s) Set configuration password
9117              q) Quit config
9118              e/n/d/s/q>
9119
9120       Go into s, Set configuration password:
9121
9122              e/n/d/s/q> s
9123              Your configuration is not encrypted.
9124              If you add a password, you will protect your login information to cloud services.
9125              a) Add Password
9126              q) Quit to main menu
9127              a/q> a
9128              Enter NEW configuration password:
9129              password:
9130              Confirm NEW password:
9131              password:
9132              Password set
9133              Your configuration is encrypted.
9134              c) Change Password
9135              u) Unencrypt configuration
9136              q) Quit to main menu
9137              c/u/q>
9138
9139       Your  configuration  is  now encrypted, and every time you start rclone
9140       you will have to supply the password.  See below for details.   In  the
9141       same  menu, you can change the password or completely remove encryption
9142       from your configuration.
9143
9144       There is no way to recover the configuration if you lose your password.
9145
9146       rclone uses nacl  secretbox  (https://godoc.org/golang.org/x/crypto/na
9147       cl/secretbox)  which  in turn uses XSalsa20 and Poly1305 to encrypt and
9148       authenticate your  configuration  with  secret-key  cryptography.   The
9149       password  is SHA-256 hashed, which produces the key for secretbox.  The
9150       hashed password is not stored.
9151
9152       While this provides very good security, we  do  not  recommend  storing
9153       your  encrypted rclone configuration in public if it contains sensitive
9154       information, maybe except if you use a very strong password.
9155
9156       If it is safe in your environment, you can set  the  RCLONE_CONFIG_PASS
9157       environment variable to contain your password, in which case it will be
9158       used for decrypting the configuration.
9159
9160       You can set this for a session from a script.  For  unix  like  systems
9161       save this to a file called set-rclone-password:
9162
9163              #!/bin/echo Source this file don't run it
9164
9165              read -s RCLONE_CONFIG_PASS
9166              export RCLONE_CONFIG_PASS
9167
9168       Then source the file when you want to use it.  From the shell you would
9169       do source set-rclone-password.  It will then ask you for  the  password
9170       and set it in the environment variable.
9171
9172       An  alternate  means  of  supplying the password is to provide a script
9173       which will retrieve the password and print on  standard  output.   This
9174       script  should have a fully specified path name and not rely on any en‐
9175       vironment variables.  The script is supplied either via --password-com‐
9176       mand="..." command line argument or via the RCLONE_PASSWORD_COMMAND en‐
9177       vironment variable.
9178
9179       One useful example of this is using the  passwordstore  application  to
9180       retrieve the password:
9181
9182              export RCLONE_PASSWORD_COMMAND="pass rclone/config"
9183
9184       If the passwordstore password manager holds the password for the rclone
9185       configuration, using the script method means the password is  primarily
9186       protected  by  the  passwordstore  system, and is never embedded in the
9187       clear in scripts, nor available for examination using the standard com‐
9188       mands  available.   It  is quite possible with long running rclone ses‐
9189       sions for copies of passwords to be innocently captured in log files or
9190       terminal scroll buffers, etc.  Using the script method of supplying the
9191       password enhances the security of the config password considerably.
9192
9193       If you are running rclone inside a script, unless  you  are  using  the
9194       --password-command  method, you might want to disable password prompts.
9195       To do that, pass the parameter --ask-password=false  to  rclone.   This
9196       will  make  rclone fail instead of asking for a password if RCLONE_CON‐
9197       FIG_PASS doesn't contain a valid password, and  --password-command  has
9198       not been supplied.
9199
9200       Whenever running commands that may be affected by options in a configu‐
9201       ration file, rclone will look for an existing  file  according  to  the
9202       rules  described above, and load any it finds.  If an encrypted file is
9203       found, this includes decrypting it, with the possible consequence of  a
9204       password  prompt.   When executing a command line that you know are not
9205       actually using anything from such a configuration file, you  can  avoid
9206       it being loaded by overriding the location, e.g.  with one of the docu‐
9207       mented special values for memory-only configuration.  Since only  back‐
9208       end  options can be stored in configuration files, this is normally un‐
9209       necessary for commands that do not operate on backends, e.g.   genauto‐
9210       complete.  However, it will be relevant for commands that do operate on
9211       backends in general, but are used without referencing a stored  remote,
9212       e.g.   listing  local  filesystem  paths, or connection strings: rclone
9213       --config="" ls .
9214
9215   Developer options
9216       These options are useful when developing or  debugging  rclone.   There
9217       are also some more remote specific options which aren't documented here
9218       which are  used  for  testing.   These  start  with  remote  name  e.g.
9219       --drive-test-option - see the docs for the remote in question.
9220
9221   --cpuprofile=FILE
9222       Write CPU profile to file.  This can be analysed with go tool pprof.
9223
9224   --dump flag,flag,flag
9225       The  --dump  flag  takes  a  comma separated list of flags to dump info
9226       about.
9227
9228       Note that some headers including Accept-Encoding as shown  may  not  be
9229       correct  in  the request and the response may not show Content-Encoding
9230       if the go standard libraries auto gzip encoding was in effect.  In this
9231       case the body of the request will be gunzipped before showing it.
9232
9233       The available flags are:
9234
9235   --dump headers
9236       Dump HTTP headers with Authorization: lines removed.  May still contain
9237       sensitive info.  Can be very verbose.  Useful for debugging only.
9238
9239       Use --dump auth if you do want the Authorization: headers.
9240
9241   --dump bodies
9242       Dump HTTP headers and bodies - may contain sensitive info.  Can be very
9243       verbose.  Useful for debugging only.
9244
9245       Note that the bodies are buffered in memory so don't use this for enor‐
9246       mous files.
9247
9248   --dump requests
9249       Like --dump bodies but dumps the request bodies and the response  head‐
9250       ers.  Useful for debugging download problems.
9251
9252   --dump responses
9253       Like  --dump bodies but dumps the response bodies and the request head‐
9254       ers.  Useful for debugging upload problems.
9255
9256   --dump auth
9257       Dump HTTP headers - will contain sensitive info such as  Authorization:
9258       headers  -  use  --dump headers to dump without Authorization: headers.
9259       Can be very verbose.  Useful for debugging only.
9260
9261   --dump filters
9262       Dump the filters to the output.  Useful to see exactly what include and
9263       exclude options are filtering on.
9264
9265   --dump goroutines
9266       This  dumps a list of the running go-routines at the end of the command
9267       to standard output.
9268
9269   --dump openfiles
9270       This dumps a list of the open files at the end of the command.  It uses
9271       the lsof command to do that so you'll need that installed to use it.
9272
9273   --memprofile=FILE
9274       Write memory profile to file.  This can be analysed with go tool pprof.
9275
9276   Filtering
9277       For the filtering options
9278
9279       • --delete-excluded
9280
9281       • --filter
9282
9283       • --filter-from
9284
9285       • --exclude
9286
9287       • --exclude-from
9288
9289       • --include
9290
9291       • --include-from
9292
9293       • --files-from
9294
9295       • --files-from-raw
9296
9297       • --min-size
9298
9299       • --max-size
9300
9301       • --min-age
9302
9303       • --max-age
9304
9305       • --dump filters
9306
9307       See the filtering section (https://rclone.org/filtering/).
9308
9309   Remote control
9310       For  the  remote  control options and for instructions on how to remote
9311       control rclone
9312
9313       • --rc
9314
9315       • and anything starting with --rc-
9316
9317       See the remote control section (https://rclone.org/rc/).
9318
9319   Logging
9320       rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
9321
9322       By default, rclone logs to standard error.  This means you can redirect
9323       standard error and still see the normal output of rclone commands (e.g.
9324       rclone ls).
9325
9326       By default, rclone will produce Error and Notice level messages.
9327
9328       If you use the -q flag, rclone will only produce Error messages.
9329
9330       If you use the -v flag, rclone will produce Error, Notice and Info mes‐
9331       sages.
9332
9333       If  you  use  the -vv flag, rclone will produce Error, Notice, Info and
9334       Debug messages.
9335
9336       You can also control the log levels with the --log-level flag.
9337
9338       If you use the --log-file=FILE option, rclone will redirect Error, Info
9339       and Debug messages along with standard error to FILE.
9340
9341       If  you  use  the  --syslog flag then rclone will log to syslog and the
9342       --syslog-facility control which facility it uses.
9343
9344       Rclone prefixes all log messages with their  level  in  capitals,  e.g.
9345       INFO  which  makes  it easy to grep the log file for different kinds of
9346       information.
9347
9348   Exit Code
9349       If any errors occur during the command execution, rclone will exit with
9350       a non-zero exit code.  This allows scripts to detect when rclone opera‐
9351       tions have failed.
9352
9353       During the startup phase, rclone will exit immediately if an  error  is
9354       detected  in the configuration.  There will always be a log message im‐
9355       mediately before exiting.
9356
9357       When rclone is running it will accumulate errors as it goes along,  and
9358       only exit with a non-zero exit code if (after retries) there were still
9359       failed transfers.  For every error counted there will be a high priori‐
9360       ty  log  message  (visible  with -q) showing the message and which file
9361       caused the problem.  A high priority message is also shown when  start‐
9362       ing  a  retry  so the user can see that any previous error messages may
9363       not be valid after the retry.  If rclone has done a retry it will log a
9364       high priority message if the retry was successful.
9365
9366   List of exit codes
9367       • 0 - success
9368
9369       • 1 - Syntax or usage error
9370
9371       • 2 - Error not otherwise categorised
9372
9373       • 3 - Directory not found
9374
9375       • 4 - File not found
9376
9377       • 5 - Temporary error (one that more retries might fix) (Retry errors)
9378
9379       • 6  -  Less serious errors (like 461 errors from dropbox) (NoRetry er‐
9380         rors)
9381
9382       • 7 - Fatal error (one that more retries won't fix, like  account  sus‐
9383         pended) (Fatal errors)
9384
9385       • 8 - Transfer exceeded - limit set by --max-transfer reached
9386
9387       • 9 - Operation successful, but no files transferred
9388
9389   Environment Variables
9390       Rclone  can  be configured entirely using environment variables.  These
9391       can be used to set defaults for options or config file entries.
9392
9393   Options
9394       Every option in rclone can have its default set  by  environment  vari‐
9395       able.
9396
9397       To  find the name of the environment variable, first, take the long op‐
9398       tion name, strip the leading --, change - to _,  make  upper  case  and
9399       prepend RCLONE_.
9400
9401       For  example,  to  always  set --stats 5s, set the environment variable
9402       RCLONE_STATS=5s.  If you set stats on the command line this will  over‐
9403       ride the environment variable setting.
9404
9405       Or   to   always   use   the  trash  in  drive  --drive-use-trash,  set
9406       RCLONE_DRIVE_USE_TRASH=true.
9407
9408       The same parser is used for the options and the  environment  variables
9409       so they take exactly the same form.
9410
9411       The options set by environment variables can be seen with the -vv flag,
9412       e.g.  rclone version -vv.
9413
9414   Config file
9415       You can set defaults for values in the config file on an individual re‐
9416       mote  basis.   The names of the config items are documented in the page
9417       for each backend.
9418
9419       To find the name of the environment variable, you  need  to  set,  take
9420       RCLONE_CONFIG_  +  name  of remote + _ + name of config file option and
9421       make it all uppercase.
9422
9423       For example, to configure an S3 remote named  mys3:  without  a  config
9424       file (using unix ways of setting environment variables):
9425
9426              $ export RCLONE_CONFIG_MYS3_TYPE=s3
9427              $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
9428              $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
9429              $ rclone lsd mys3:
9430                        -1 2016-09-21 12:54:21        -1 my-bucket
9431              $ rclone listremotes | grep mys3
9432              mys3:
9433
9434       Note  that  if  you want to create a remote using environment variables
9435       you must create the ..._TYPE variable as above.
9436
9437       Note that the name of a remote created using  environment  variable  is
9438       case  insensitive, in contrast to regular remotes stored in config file
9439       as documented above.  You must write the name in uppercase in the envi‐
9440       ronment  variable, but as seen from example above it will be listed and
9441       can be accessed in lowercase, while you can also refer to the same  re‐
9442       mote in uppercase:
9443
9444              $ rclone lsd mys3:
9445                        -1 2016-09-21 12:54:21        -1 my-bucket
9446              $ rclone lsd MYS3:
9447                        -1 2016-09-21 12:54:21        -1 my-bucket
9448
9449       Note  that  you  can  only set the options of the immediate backend, so
9450       RCLONE_CONFIG_MYS3CRYPT_ACCESS_KEY_ID has no effect, if myS3Crypt is  a
9451       crypt  remote  based  on an S3 remote.  However RCLONE_S3_ACCESS_KEY_ID
9452       will set the access key of all remotes using S3, including myS3Crypt.
9453
9454       Note also that now rclone has connection strings, it is probably easier
9455       to use those instead which makes the above example
9456
9457              rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX:
9458
9459   Precedence
9460       The various different methods of backend configuration are read in this
9461       order and the first one with a value is used.
9462
9463       • Parameters in connection strings, e.g.  myRemote,skip_links:
9464
9465       • Flag values as supplied on the command line, e.g.  --skip-links
9466
9467       • Remote   specific   environment   vars,   e.g.    RCLONE_CONFIG_MYRE‐
9468         MOTE_SKIP_LINKS (see above).
9469
9470       • Backend specific environment vars, e.g.  RCLONE_LOCAL_SKIP_LINKS.
9471
9472       • Backend generic environment vars, e.g.  RCLONE_SKIP_LINKS.
9473
9474       • Config file, e.g.  skip_links = true.
9475
9476       • Default values, e.g.  false - these can't be changed.
9477
9478       So if both --skip-links is supplied on the command line and an environ‐
9479       ment variable RCLONE_LOCAL_SKIP_LINKS is set,  the  command  line  flag
9480       will take preference.
9481
9482       The  backend  configurations  set  by environment variables can be seen
9483       with the -vv flag, e.g.  rclone about myRemote: -vv.
9484
9485       For non backend configuration the order is as follows:
9486
9487       • Flag values as supplied on the command line, e.g.  --stats 5s.
9488
9489       • Environment vars, e.g.  RCLONE_STATS=5s.
9490
9491       • Default values, e.g.  1m - these can't be changed.
9492
9493   Other environment variables
9494       • RCLONE_CONFIG_PASS set to contain your config file password (see Con‐
9495         figuration Encryption section)
9496
9497       • HTTP_PROXY,  HTTPS_PROXY  and  NO_PROXY  (or  the  lowercase versions
9498         thereof).
9499
9500         • HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
9501
9502         • The  environment  values  may  be  either  a  complete  URL  or   a
9503           "host[:port]" for, in which case the "http" scheme is assumed.
9504
9505       • USER  and  LOGNAME values are used as fallbacks for current username.
9506         The primary method for looking up username  is  OS-specific:  Windows
9507         API  on Windows, real user ID in /etc/passwd on Unix systems.  In the
9508         documentation the current username is simply referred to as $USER.
9509
9510       • RCLONE_CONFIG_DIR - rclone sets this variable for use in config files
9511         and sub processes to point to the directory holding the config file.
9512
9513       The  options  set by environment variables can be seen with the -vv and
9514       --log-level=DEBUG flags, e.g.  rclone version -vv.
9515

Configuring rclone on a remote / headless machine

9517       Some of the configurations (those involving oauth2) require an Internet
9518       connected web browser.
9519
9520       If  you are trying to set rclone up on a remote or headless box with no
9521       browser available on it (e.g.  a NAS or a server in a datacenter)  then
9522       you  will need to use an alternative means of configuration.  There are
9523       two ways of doing it, described below.
9524
9525   Configuring using rclone authorize
9526       On the headless box run rclone config but answer N to the Use auto con‐
9527       fig? question.
9528
9529              ...
9530              Remote config
9531              Use auto config?
9532               * Say Y if not sure
9533               * Say N if you are working on a remote or headless machine
9534              y) Yes (default)
9535              n) No
9536              y/n> n
9537              For this to work, you will need rclone available on a machine that has
9538              a web browser available.
9539
9540              For more help and alternate methods see: https://rclone.org/remote_setup/
9541
9542              Execute the following on the machine with the web browser (same rclone
9543              version recommended):
9544
9545                  rclone authorize "amazon cloud drive"
9546
9547              Then paste the result below:
9548              result>
9549
9550       Then on your main desktop machine
9551
9552              rclone authorize "amazon cloud drive"
9553              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
9554              Log in and authorize rclone for access
9555              Waiting for code...
9556              Got code
9557              Paste the following into your remote machine --->
9558              SECRET_TOKEN
9559              <---End paste
9560
9561       Then back to the headless box, paste in the code
9562
9563              result> SECRET_TOKEN
9564              --------------------
9565              [acd12]
9566              client_id =
9567              client_secret =
9568              token = SECRET_TOKEN
9569              --------------------
9570              y) Yes this is OK
9571              e) Edit this remote
9572              d) Delete this remote
9573              y/e/d>
9574
9575   Configuring by copying the config file
9576       Rclone  stores  all of its config in a single configuration file.  This
9577       can easily be copied to configure a remote rclone.
9578
9579       So first configure rclone on your desktop machine with
9580
9581              rclone config
9582
9583       to set up the config file.
9584
9585       Find the config file by running rclone config file, for example
9586
9587              $ rclone config file
9588              Configuration file is stored at:
9589              /home/user/.rclone.conf
9590
9591       Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
9592       place it in the correct place (use rclone config file on the remote box
9593       to find out where).
9594

Filtering, includes and excludes

9596       Filter flags determine which files rclone sync, move, ls, lsl,  md5sum,
9597       sha1sum, size, delete, check and similar commands apply to.
9598
9599       They  are  specified  in  terms  of  path/file name patterns; path/file
9600       lists; file age and size, or presence of a file in a directory.  Bucket
9601       based  remotes without the concept of directory apply filters to object
9602       key, age and size in an analogous way.
9603
9604       Rclone purge does not obey filters.
9605
9606       To test filters without risk of damage to data, apply  them  to  rclone
9607       ls, or with the --dry-run and -vv flags.
9608
9609       Rclone filter patterns can only be used in filter command line options,
9610       not in the specification of a remote.
9611
9612       E.g.  rclone copy "remote:dir*.jpg" /path/to/dir does not have a filter
9613       effect.  rclone copy remote:dir /path/to/dir --include "*.jpg" does.
9614
9615       Important  Avoid mixing any two of --include..., --exclude... or --fil‐
9616       ter... flags in an rclone command.  The results may not be what you ex‐
9617       pect.  Instead use a --filter... flag.
9618
9619   Patterns for matching path/file names
9620   Pattern syntax
9621       Rclone matching rules follow a glob style:
9622
9623              *         matches any sequence of non-separator (/) characters
9624              **        matches any sequence of characters including / separators
9625              ?         matches any single non-separator (/) character
9626              [ [ ! ] { character-range } ]
9627                        character class (must be non-empty)
9628              { pattern-list }
9629                        pattern alternatives
9630              c         matches character c (c != *, **, ?, \, [, {, })
9631              \c        matches reserved character c (c = *, **, ?, \, [, {, })
9632
9633       character-range:
9634
9635              c         matches character c (c != \, -, ])
9636              \c        matches reserved character c (c = \, -, ])
9637              lo - hi   matches character c for lo <= c <= hi
9638
9639       pattern-list:
9640
9641              pattern { , pattern }
9642                        comma-separated (without spaces) patterns
9643
9644       character    classes    (see    Go    regular    expression   reference
9645       (https://golang.org/pkg/regexp/syntax/)) include:
9646
9647              Named character classes (e.g. [\d], [^\d], [\D], [^\D])
9648              Perl character classes (e.g. \s, \S, \w, \W)
9649              ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
9650
9651       If the filter pattern starts with a / then it only matches at  the  top
9652       level  of  the  directory tree, relative to the root of the remote (not
9653       necessarily the root of the drive).  If it does not start with  /  then
9654       it  is  matched  starting  at the end of the path/file name but it only
9655       matches a complete path element - it must match from a /  separator  or
9656       the beginning of the path/file.
9657
9658              file.jpg   - matches "file.jpg"
9659                         - matches "directory/file.jpg"
9660                         - doesn't match "afile.jpg"
9661                         - doesn't match "directory/afile.jpg"
9662              /file.jpg  - matches "file.jpg" in the root directory of the remote
9663                         - doesn't match "afile.jpg"
9664                         - doesn't match "directory/file.jpg"
9665
9666       The top level of the remote may not be the top level of the drive.
9667
9668       E.g.  for a Microsoft Windows local directory structure
9669
9670              F:
9671              ├── bkp
9672              ├── data
9673              │   ├── excl
9674              │   │   ├── 123.jpg
9675              │   │   └── 456.jpg
9676              │   ├── incl
9677              │   │   └── document.pdf
9678
9679       To  copy the contents of folder data into folder bkp excluding the con‐
9680       tents of subfolder exclthe following command treats F:\data and  F:\bkp
9681       as top level for filtering.
9682
9683       rclone copy F:\data\ F:\bkp\ --exclude=/excl/**
9684
9685       Important Use / in path/file name patterns and not \ even if running on
9686       Microsoft Windows.
9687
9688       Simple patterns are case sensitive unless  the  --ignore-case  flag  is
9689       used.
9690
9691       Without --ignore-case (default)
9692
9693              potato - matches "potato"
9694                     - doesn't match "POTATO"
9695
9696       With --ignore-case
9697
9698              potato - matches "potato"
9699                     - matches "POTATO"
9700
9701   How filter rules are applied to files
9702       Rclone path/file name filters are made up of one or more of the follow‐
9703       ing flags:
9704
9705       • --include
9706
9707       • --include-from
9708
9709       • --exclude
9710
9711       • --exclude-from
9712
9713       • --filter
9714
9715       • --filter-from
9716
9717       There can be more than one instance of individual flags.
9718
9719       Rclone internally uses a combined list of all the include  and  exclude
9720       rules.  The order in which rules are processed can influence the result
9721       of the filter.
9722
9723       All flags of the same type are processed together in the  order  above,
9724       regardless  of  what order the different types of flags are included on
9725       the command line.
9726
9727       Multiple instances of the same flag are processed from  left  to  right
9728       according to their position in the command line.
9729
9730       To mix up the order of processing includes and excludes use --filter...
9731       flags.
9732
9733       Within --include-from, --exclude-from and --filter-from flags rules are
9734       processed from top to bottom of the referenced file.
9735
9736       If  there  is an --include or --include-from flag specified, rclone im‐
9737       plies a - ** rule which it adds to the  bottom  of  the  internal  rule
9738       list.   Specifying a + rule with a --filter... flag does not imply that
9739       rule.
9740
9741       Each path/file name passed through rclone is matched against  the  com‐
9742       bined  filter list.  At first match to a rule the path/file name is in‐
9743       cluded or excluded and no further filter rules are processed  for  that
9744       path/file.
9745
9746       If  rclone  does not find a match, after testing against all rules (in‐
9747       cluding the implied rule if appropriate), the path/file name is includ‐
9748       ed.
9749
9750       Any  path/file  included  at that stage is processed by the rclone com‐
9751       mand.
9752
9753       --files-from and --files-from-raw flags over-ride and  cannot  be  com‐
9754       bined with other filter options.
9755
9756       To see the internal combined rule list, in regular expression form, for
9757       a command add the --dump filters flag.  Running an rclone command  with
9758       --dump  filters  and  -vv  flags lists the internal filter elements and
9759       shows how they are applied to each source path/file.  There is not cur‐
9760       rently  a means provided to pass regular expression filter options into
9761       rclone directly though character class filter rules  contain  character
9762       classes.   Go regular expression reference (https://golang.org/pkg/reg
9763       exp/syntax/)
9764
9765   How filter rules are applied to directories
9766       Rclone commands are applied to path/file names  not  directories.   The
9767       entire  contents  of a directory can be matched to a filter by the pat‐
9768       tern directory/* or recursively by directory/**.
9769
9770       Directory filter rules are defined with a closing / separator.
9771
9772       E.g.  /directory/subdirectory/ is an rclone directory filter rule.
9773
9774       Rclone commands can use directory filter  rules  to  determine  whether
9775       they recurse into subdirectories.  This potentially optimises access to
9776       a remote by avoiding listing unnecessary directories.  Whether  optimi‐
9777       sation is desirable depends on the specific filter rules and source re‐
9778       mote content.
9779
9780       Directory recursion optimisation occurs if either:
9781
9782       • A source remote does not support the rclone ListR primitive.   local,
9783         sftp,  Microsoft  OneDrive  and  WebDav do not support ListR.  Google
9784         Drive   and   most   bucket   type    storage    do.     Full    list
9785         (https://rclone.org/overview/#optional-features)
9786
9787       • On other remotes (those that support ListR), if the rclone command is
9788         not naturally  recursive,  and  provided  it  is  not  run  with  the
9789         --fast-list  flag.   ls,  lsf -R and size are naturally recursive but
9790         sync, copy and move are not.
9791
9792       • Whenever the --disable ListR flag is applied to an rclone command.
9793
9794       Rclone commands imply directory  filter  rules  from  path/file  filter
9795       rules.   To  view  the  directory filter rules rclone has implied for a
9796       command specify the --dump filters flag.
9797
9798       E.g.  for an include rule
9799
9800              /a/*.jpg
9801
9802       Rclone implies the directory include rule
9803
9804              /a/
9805
9806       Directory filter rules specified in an rclone  command  can  limit  the
9807       scope of an rclone command but path/file filters still have to be spec‐
9808       ified.
9809
9810       E.g.  rclone ls remote: --include /directory/ will not match any files.
9811       Because it is an --include option the --exclude ** rule is implied, and
9812       the /directory/ pattern serves only to optimise access to the remote by
9813       ignoring everything outside of that directory.
9814
9815       E.g.   rclone ls remote: --filter-from filter-list.txt with a file fil‐
9816       ter-list.txt:
9817
9818              - /dir1/
9819              - /dir2/
9820              + *.pdf
9821              - **
9822
9823       All files in directories dir1 or dir2 or their subdirectories are  com‐
9824       pletely  excluded  from  the  listing.  Only files of suffix pdf in the
9825       root of remote: or its subdirectories are listed.  The - **  rule  pre‐
9826       vents  listing  of  any  path/files not previously matched by the rules
9827       above.
9828
9829       Option exclude-if-present creates a directory exclude rule based on the
9830       presence  of  a  file  in  a  directory and takes precedence over other
9831       rclone directory filter rules.
9832
9833       When using pattern list syntax, if a pattern item contains either /  or
9834       **,  then  rclone  will  not able to imply a directory filter rule from
9835       this pattern list.
9836
9837       E.g.  for an include rule
9838
9839              {dir1/**,dir2/**}
9840
9841       Rclone will match files below directories dir1 or dir2 only,  but  will
9842       not  be  able to use this filter to exclude a directory dir3 from being
9843       traversed.
9844
9845       Directory recursion optimisation may affect performance,  but  normally
9846       not  the  result.  One exception to this is sync operations with option
9847       --create-empty-src-dirs, where any traversed empty directories will  be
9848       created.   With  the pattern list example {dir1/**,dir2/**} above, this
9849       would create an empty directory dir3 on destination (when it exists  on
9850       source).   Changing  the filter to {dir1,dir2}/**, or splitting it into
9851       two include rules --include dir1/** --include dir2/**, will  match  the
9852       same  files  while  also filtering directories, with the result that an
9853       empty directory dir3 will no longer be created.
9854
9855   --exclude - Exclude files matching pattern
9856       Excludes path/file names from an rclone command based on a  single  ex‐
9857       clude rule.
9858
9859       This  flag  can  be repeated.  See above for the order filter flags are
9860       processed in.
9861
9862       --exclude should not be used with --include,  --include-from,  --filter
9863       or --filter-from flags.
9864
9865       --exclude   has   no   effect   when   combined  with  --files-from  or
9866       --files-from-raw flags.
9867
9868       E.g.  rclone ls remote: --exclude *.bak excludes all  .bak  files  from
9869       listing.
9870
9871       E.g.  rclone size remote: "--exclude /dir/**" returns the total size of
9872       all files on remote: excluding those in root directory dir and sub  di‐
9873       rectories.
9874
9875       E.g.     on    Microsoft    Windows   rclone   ls   remote:   --exclude
9876       "*\[{JP,KR,HK}\]*" lists the files in remote: with [JP] or [KR] or [HK]
9877       in  their name.  Quotes prevent the shell from interpreting the \ char‐
9878       acters.\ characters escape the [ and ] so an rclone filter treats  them
9879       literally  rather  than  as  a  character-range.  The { and } define an
9880       rclone pattern list.  For other operating systems single quotes are re‐
9881       quired ie rclone ls remote: --exclude '*\[{JP,KR,HK}\]*'
9882
9883   --exclude-from - Read exclude patterns from file
9884       Excludes  path/file  names  from  an rclone command based on rules in a
9885       named file.  The file contains a list of remarks and pattern rules.
9886
9887       For an example exclude-file.txt:
9888
9889              # a sample exclude rule file
9890              *.bak
9891              file2.jpg
9892
9893       rclone ls remote: --exclude-from exclude-file.txt lists  the  files  on
9894       remote:  except  those  named file2.jpg or with a suffix .bak.  That is
9895       equivalent to rclone ls remote: --exclude file2.jpg --exclude "*.bak".
9896
9897       This flag can be repeated.  See above for the order  filter  flags  are
9898       processed in.
9899
9900       The  --exclude-from  flag is useful where multiple exclude filter rules
9901       are applied to an rclone command.
9902
9903       --exclude-from should  not  be  used  with  --include,  --include-from,
9904       --filter or --filter-from flags.
9905
9906       --exclude-from  has  no  effect  when  combined  with  --files-from  or
9907       --files-from-raw flags.
9908
9909       --exclude-from followed by - reads filter rules from standard input.
9910
9911   --include - Include files matching pattern
9912       Adds a single include rule based on path/file names to an  rclone  com‐
9913       mand.
9914
9915       This  flag  can  be repeated.  See above for the order filter flags are
9916       processed in.
9917
9918       --include  has  no  effect   when   combined   with   --files-from   or
9919       --files-from-raw flags.
9920
9921       --include  implies --exclude ** at the end of an rclone internal filter
9922       list.  Therefore if you mix --include  and  --include-from  flags  with
9923       --exclude,  --exclude-from, --filter or --filter-from, you must use in‐
9924       clude rules for all the files you want in the include  statement.   For
9925       more flexibility use the --filter-from flag.
9926
9927       E.g.   rclone ls remote: --include "*.{png,jpg}" lists the files on re‐
9928       mote: with suffix .png and .jpg.  All other files are excluded.
9929
9930       E.g.  multiple rclone copy commands can be combined with --include  and
9931       a pattern-list.
9932
9933              rclone copy /vol1/A remote:A
9934              rclone copy /vol1/B remote:B
9935
9936       is equivalent to:
9937
9938              rclone copy /vol1 remote: --include "{A,B}/**"
9939
9940       E.g.   rclone  ls  remote:/wheat  --include "??[^[:punct:]]*" lists the
9941       files remote: directory wheat (and subdirectories) whose third  charac‐
9942       ter  is  not  punctuation.   This example uses an ASCII character class
9943       (https://golang.org/pkg/regexp/syntax/).
9944
9945   --include-from - Read include patterns from file
9946       Adds path/file names to an rclone command based on  rules  in  a  named
9947       file.  The file contains a list of remarks and pattern rules.
9948
9949       For an example include-file.txt:
9950
9951              # a sample include rule file
9952              *.jpg
9953              file2.avi
9954
9955       rclone  ls  remote:  --include-from include-file.txt lists the files on
9956       remote: with name file2.avi or suffix  .jpg.   That  is  equivalent  to
9957       rclone ls remote: --include file2.avi --include "*.jpg".
9958
9959       This  flag  can  be repeated.  See above for the order filter flags are
9960       processed in.
9961
9962       The --include-from flag is useful where multiple include  filter  rules
9963       are applied to an rclone command.
9964
9965       --include-from  implies  --exclude  ** at the end of an rclone internal
9966       filter list.  Therefore if you mix --include and  --include-from  flags
9967       with --exclude, --exclude-from, --filter or --filter-from, you must use
9968       include rules for all the files you want in the include statement.  For
9969       more flexibility use the --filter-from flag.
9970
9971       --exclude-from  has  no  effect  when  combined  with  --files-from  or
9972       --files-from-raw flags.
9973
9974       --exclude-from followed by - reads filter rules from standard input.
9975
9976   --filter - Add a file-filtering rule
9977       Specifies path/file names to an rclone command, based on a  single  in‐
9978       clude or exclude rule, in + or - format.
9979
9980       This  flag  can  be repeated.  See above for the order filter flags are
9981       processed in.
9982
9983       --filter + differs from --include.  In the case of --include rclone im‐
9984       plies  an  --exclude * rule which it adds to the bottom of the internal
9985       rule list.  --filter...+ does not imply that rule.
9986
9987       --filter  has  no   effect   when   combined   with   --files-from   or
9988       --files-from-raw flags.
9989
9990       --filter  should  not be used with --include, --include-from, --exclude
9991       or --exclude-from flags.
9992
9993       E.g.  rclone ls remote: --filter "- *.bak" excludes all .bak files from
9994       a list of remote:.
9995
9996   --filter-from - Read filtering patterns from a file
9997       Adds  path/file  names  to  an rclone command based on rules in a named
9998       file.  The file contains a list of remarks and pattern rules.   Include
9999       rules  start with + and exclude rules with -.  ! clears existing rules.
10000       Rules are processed in the order they are defined.
10001
10002       This flag can be repeated.  See above for the order  filter  flags  are
10003       processed in.
10004
10005       Arrange  the  order of filter rules with the most restrictive first and
10006       work down.
10007
10008       E.g.  for filter-file.txt:
10009
10010              # a sample filter rule file
10011              - secret*.jpg
10012              + *.jpg
10013              + *.png
10014              + file2.avi
10015              - /dir/Trash/**
10016              + /dir/**
10017              # exclude everything else
10018              - *
10019
10020       rclone ls remote: --filter-from filter-file.txt lists the path/files on
10021       remote:  including  all  jpg  and png files, excluding any matching se‐
10022       cret*.jpg and including file2.avi.  It also includes everything in  the
10023       directory  dir  at the root of remote, except remote:dir/Trash which it
10024       excludes.  Everything else is excluded.
10025
10026       E.g.  for an alternative filter-file.txt:
10027
10028              - secret*.jpg
10029              + *.jpg
10030              + *.png
10031              + file2.avi
10032              - *
10033
10034       Files file1.jpg, file3.png and file2.avi are listed whilst secret17.jpg
10035       and files without the suffix .jpgor.png` are excluded.
10036
10037       E.g.  for an alternative filter-file.txt:
10038
10039              + *.jpg
10040              + *.gif
10041              !
10042              + 42.doc
10043              - *
10044
10045       Only file 42.doc is listed.  Prior rules are cleared by the !.
10046
10047   --files-from - Read list of source-file names
10048       Adds  path/files  to  an  rclone  command  from a list in a named file.
10049       Rclone processes the path/file names in the order of the list,  and  no
10050       others.
10051
10052       Other   filter   flags  (--include,  --include-from,  --exclude,  --ex‐
10053       clude-from, --filter and --filter-from) are ignored  when  --files-from
10054       is used.
10055
10056       --files-from expects a list of files as its input.  Leading or trailing
10057       whitespace is stripped from the input lines.  Lines starting with #  or
10058       ; are ignored.
10059
10060       Rclone  commands with a --files-from flag traverse the remote, treating
10061       the names in --files-from as a set of filters.
10062
10063       If the --no-traverse and --files-from flags are used together an rclone
10064       command  does  not  traverse  the  remote.   Instead  it addresses each
10065       path/file named in the file individually.   For  each  path/file  name,
10066       that  requires typically 1 API call.  This can be efficient for a short
10067       --files-from list and a remote containing many files.
10068
10069       Rclone commands do not error if any names in the --files-from file  are
10070       missing from the source remote.
10071
10072       The  --files-from  flag  can  be repeated in a single rclone command to
10073       read path/file names from more than one file.  The files are read  from
10074       left to right along the command line.
10075
10076       Paths within the --files-from file are interpreted as starting with the
10077       root specified in the rclone command.  Leading  /  separators  are  ig‐
10078       nored.  See --files-from-raw if you need the input to be processed in a
10079       raw manner.
10080
10081       E.g.  for a file files-from.txt:
10082
10083              # comment
10084              file1.jpg
10085              subdir/file2.jpg
10086
10087       rclone  copy  --files-from  files-from.txt  /home/me/pics   remote:pics
10088       copies the following, if they exist, and only those files.
10089
10090              /home/me/pics/file1.jpg        → remote:pics/file1.jpg
10091              /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg
10092
10093       E.g.  to copy the following files referenced by their absolute paths:
10094
10095              /home/user1/42
10096              /home/user1/dir/ford
10097              /home/user2/prefect
10098
10099       First  find  a common subdirectory - in this case /home and put the re‐
10100       maining files in files-from.txt with or without leading /, e.g.
10101
10102              user1/42
10103              user1/dir/ford
10104              user2/prefect
10105
10106       Then copy these to a remote:
10107
10108              rclone copy --files-from files-from.txt /home remote:backup
10109
10110       The three files are transferred as follows:
10111
10112              /home/user1/42       → remote:backup/user1/important
10113              /home/user1/dir/ford → remote:backup/user1/dir/file
10114              /home/user2/prefect  → remote:backup/user2/stuff
10115
10116       Alternatively if / is chosen as root files-from.txt will be:
10117
10118              /home/user1/42
10119              /home/user1/dir/ford
10120              /home/user2/prefect
10121
10122       The copy command will be:
10123
10124              rclone copy --files-from files-from.txt / remote:backup
10125
10126       Then there will be an extra home directory on the remote:
10127
10128              /home/user1/42       → remote:backup/home/user1/42
10129              /home/user1/dir/ford → remote:backup/home/user1/dir/ford
10130              /home/user2/prefect  → remote:backup/home/user2/prefect
10131
10132   --files-from-raw - Read list of source-file names without any processing
10133       This flag is the same as --files-from except that input is  read  in  a
10134       raw manner.  Lines with leading / trailing whitespace, and lines start‐
10135       ing  with  ;  or  #  are  read  without  any  processing.   rclone  lsf
10136       (https://rclone.org/commands/rclone_lsf/)  has a compatible format that
10137       can  be  used  to  export  file  lists  from  remotes  for   input   to
10138       --files-from-raw.
10139
10140   --ignore-case - make searches case insensitive
10141       By  default  rclone  filter  patterns  are  case  sensitive.  The --ig‐
10142       nore-case flag makes all of the filters patterns on  the  command  line
10143       case insensitive.
10144
10145       E.g.   --include  "zaphod.txt"  does not match a file Zaphod.txt.  With
10146       --ignore-case a match is made.
10147
10148   Quoting shell metacharacters
10149       Rclone commands with filter patterns  containing  shell  metacharacters
10150       may not as work as expected in your shell and may require quoting.
10151
10152       E.g.  linux, OSX (* metacharacter)
10153
10154       • --include \*.jpg
10155
10156       • --include '*.jpg'
10157
10158       • --include='*.jpg'
10159
10160       Microsoft Windows expansion is done by the command, not shell, so --in‐
10161       clude *.jpg does not require quoting.
10162
10163       If the rclone error Command .... needs .... arguments maximum: you pro‐
10164       vided  ....  non  flag arguments: is encountered, the cause is commonly
10165       spaces within the name of a remote or flag value.  The fix then  is  to
10166       quote values containing spaces.
10167
10168   Other filters
10169   --min-size - Don't transfer any file smaller than this
10170       Controls  the  minimum size file within the scope of an rclone command.
10171       Default units are KiB but abbreviations K, M, G, T or P are valid.
10172
10173       E.g.  rclone ls remote: --min-size 50k lists files on remote: of 50 KiB
10174       size or larger.
10175
10176   --max-size - Don't transfer any file larger than this
10177       Controls  the  maximum size file within the scope of an rclone command.
10178       Default units are KiB but abbreviations K, M, G, T or P are valid.
10179
10180       E.g.  rclone ls remote: --max-size 1G lists files on remote: of  1  GiB
10181       size or smaller.
10182
10183   --max-age - Don't transfer any file older than this
10184       Controls  the  maximum  age of files within the scope of an rclone com‐
10185       mand.  Default units are seconds or  the  following  abbreviations  are
10186       valid:
10187
10188       • ms - Milliseconds
10189
10190       • s - Seconds
10191
10192       • m - Minutes
10193
10194       • h - Hours
10195
10196       • d - Days
10197
10198       • w - Weeks
10199
10200       • M - Months
10201
10202       • y - Years
10203
10204       --max-age  can  also  be specified as an absolute time in the following
10205       formats:
10206
10207       • RFC3339 - e.g.  2006-01-02T15:04:05Z or 2006-01-02T15:04:05+07:00
10208
10209       • ISO8601 Date and time, local timezone - 2006-01-02T15:04:05
10210
10211       • ISO8601 Date and time, local timezone - 2006-01-02 15:04:05
10212
10213       • ISO8601 Date - 2006-01-02 (YYYY-MM-DD)
10214
10215       --max-age applies only to files and not to directories.
10216
10217       E.g.  rclone ls remote: --max-age 2d lists files on remote: of  2  days
10218       old or less.
10219
10220   --min-age - Don't transfer any file younger than this
10221       Controls  the  minimum  age of files within the scope of an rclone com‐
10222       mand.  (see --max-age for valid formats)
10223
10224       --min-age applies only to files and not to directories.
10225
10226       E.g.  rclone ls remote: --min-age 2d lists files on remote: of  2  days
10227       old or more.
10228
10229   Other flags
10230   --delete-excluded - Delete files on dest excluded from sync
10231       Important  this flag is dangerous to your data - use with --dry-run and
10232       -v first.
10233
10234       In conjunction with rclone sync, --delete-excluded deletes any files on
10235       the destination which are excluded from the command.
10236
10237       E.g.  the scope of rclone sync -i A: B: can be restricted:
10238
10239              rclone --min-size 50k --delete-excluded sync A: B:
10240
10241       All files on B: which are less than 50 KiB are deleted because they are
10242       excluded from the rclone sync command.
10243
10244   --dump filters - dump the filters to the output
10245       Dumps the defined filters to standard output in regular expression for‐
10246       mat.
10247
10248       Useful for debugging.
10249
10250   Exclude directory based on a file
10251       The  --exclude-if-present  flag  controls whether a directory is within
10252       the scope of an rclone command based on the presence of  a  named  file
10253       within it.
10254
10255       This flag has a priority over other filter flags.
10256
10257       E.g.  for the following directory structure:
10258
10259              dir1/file1
10260              dir1/dir2/file2
10261              dir1/dir2/dir3/file3
10262              dir1/dir2/dir3/.ignore
10263
10264       The  command  rclone ls --exclude-if-present .ignore dir1 does not list
10265       dir3, file3 or .ignore.
10266
10267       --exclude-if-present can only be used once in an rclone command.
10268
10269   Common pitfalls
10270       The  most  frequent  filter  support  issues  on   the   rclone   forum
10271       (https://forum.rclone.org/) are:
10272
10273       • Not using paths relative to the root of the remote
10274
10275       • Not using / to match from the root of a remote
10276
10277       • Not using ** to match the contents of a directory
10278

GUI (Experimental)

10280       Rclone  can  serve a web based GUI (graphical user interface).  This is
10281       somewhat experimental at the moment so things may be subject to change.
10282
10283       Run this command in a terminal and rclone will download and  then  dis‐
10284       play the GUI in a web browser.
10285
10286              rclone rcd --rc-web-gui
10287
10288       This will produce logs like this and rclone needs to continue to run to
10289       serve the GUI:
10290
10291              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
10292              2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path :  /home/USER/.cache/rclone/webgui/v0.0.6.zip]
10293              2019/08/25 11:40:16 NOTICE: Unzipping
10294              2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
10295
10296       This assumes you are running rclone locally on  your  machine.   It  is
10297       possible to separate the rclone and the GUI - see below for details.
10298
10299       If  you  wish to check for updates then you can add --rc-web-gui-update
10300       to the command line.
10301
10302       If you find your GUI  broken,  you  may  force  it  to  update  by  add
10303       --rc-web-gui-force-update.
10304
10305       By     default,     rclone     will    open    your    browser.     Add
10306       --rc-web-gui-no-open-browser to disable this feature.
10307
10308   Using the GUI
10309       Once the GUI opens, you will be looking at the dashboard which  has  an
10310       overall overview.
10311
10312       On  the  left  hand  side you will see a series of view buttons you can
10313       click on:
10314
10315       • Dashboard - main overview
10316
10317       • Configs - examine and create new configurations
10318
10319       • Explorer - view, download and upload files to the cloud storage  sys‐
10320         tems
10321
10322       • Backend - view or alter the backend config
10323
10324       • Log out
10325
10326       (More docs and walkthrough video to come!)
10327
10328   How it works
10329       When you run the rclone rcd --rc-web-gui this is what happens
10330
10331       • Rclone starts but only runs the remote control API ("rc").
10332
10333       • The  API  is  bound  to localhost with an auto generated username and
10334         password.
10335
10336       • If the API bundle is missing then rclone will download it.
10337
10338       • rclone will start serving the files from the API bundle over the same
10339         port as the API
10340
10341       • rclone  will  open  the  browser  with  a  login_token  so it can log
10342         straight in.
10343
10344   Advanced use
10345       The rclone rcd may use any of the  flags  documented  on  the  rc  page
10346       (https://rclone.org/rc/#supported-parameters).
10347
10348       The flag --rc-web-gui is shorthand for
10349
10350       • Download the web GUI if necessary
10351
10352       • Check we are using some authentication
10353
10354       • --rc-user gui
10355
10356       • --rc-pass <random password>
10357
10358       • --rc-serve
10359
10360       These flags can be overridden as desired.
10361
10362       See   also   the   rclone  rcd  documentation  (https://rclone.org/com
10363       mands/rclone_rcd/).
10364
10365   Example: Running a public GUI
10366       For example the GUI could be served on a public port over SSL using  an
10367       htpasswd file using the following flags:
10368
10369       • --rc-web-gui
10370
10371       • --rc-addr :443
10372
10373       • --rc-htpasswd /path/to/htpasswd
10374
10375       • --rc-cert /path/to/ssl.crt
10376
10377       • --rc-key /path/to/ssl.key
10378
10379   Example: Running a GUI behind a proxy
10380       If  you  want  to  run  the GUI behind a proxy at /rclone you could use
10381       these flags:
10382
10383       • --rc-web-gui
10384
10385       • --rc-baseurl rclone
10386
10387       • --rc-htpasswd /path/to/htpasswd
10388
10389       Or instead of htpasswd if you just want a single user and password:
10390
10391       • --rc-user me
10392
10393       • --rc-pass mypassword
10394
10395   Project
10396       The GUI is being developed in the: rclone/rclone-webui-react repository
10397       (https://github.com/rclone/rclone-webui-react).
10398
10399       Bug reports and contributions are very welcome :-)
10400
10401       If  you  have  questions  then  please  ask  them  on  the rclone forum
10402       (https://forum.rclone.org/).
10403

Remote controlling rclone with its API

10405       If rclone is run with the --rc flag then it starts an HTTP server which
10406       can be used to remote control rclone using its API.
10407
10408       You  can either use the rclone rc command to access the API or use HTTP
10409       directly.
10410
10411       If you just want to run a remote  control  then  see  the  rcd  command
10412       (https://rclone.org/commands/rclone_rcd/).
10413
10414   Supported parameters
10415   --rc
10416       Flag to start the http server listen on remote requests
10417
10418   --rc-addr=IP
10419       IPaddress:Port or :Port to bind server to.  (default "localhost:5572")
10420
10421   --rc-cert=KEY
10422       SSL PEM key (concatenation of certificate and CA certificate)
10423
10424   --rc-client-ca=PATH
10425       Client certificate authority to verify clients with
10426
10427   --rc-htpasswd=PATH
10428       htpasswd file - if not provided no authentication is done
10429
10430   --rc-key=PATH
10431       SSL PEM Private key
10432
10433   --rc-max-header-bytes=VALUE
10434       Maximum size of request header (default 4096)
10435
10436   --rc-user=VALUE
10437       User name for authentication.
10438
10439   --rc-pass=VALUE
10440       Password for authentication.
10441
10442   --rc-realm=VALUE
10443       Realm for authentication (default "rclone")
10444
10445   --rc-server-read-timeout=DURATION
10446       Timeout for server reading data (default 1h0m0s)
10447
10448   --rc-server-write-timeout=DURATION
10449       Timeout for server writing data (default 1h0m0s)
10450
10451   --rc-serve
10452       Enable  the  serving  of  remote  objects via the HTTP interface.  This
10453       means objects will be accessible at http://127.0.0.1:5572/ by  default,
10454       so  you can browse to http://127.0.0.1:5572/ or http://127.0.0.1:5572/*
10455       to see a listing of the remotes.  Objects may be requested from remotes
10456       using this syntax http://127.0.0.1:5572/[remote:path]/path/to/object
10457
10458       Default Off.
10459
10460   --rc-files /path/to/directory
10461       Path to local files to serve on the HTTP server.
10462
10463       If  this is set then rclone will serve the files in that directory.  It
10464       will also open the root in the web browser if specified.  This  is  for
10465       implementing browser based GUIs for rclone functions.
10466
10467       If  --rc-user or --rc-pass is set then the URL that is opened will have
10468       the authorization in the URL in the http://user:pass@localhost/ style.
10469
10470       Default Off.
10471
10472   --rc-enable-metrics
10473       Enable OpenMetrics/Prometheus compatible endpoint at /metrics.
10474
10475       Default Off.
10476
10477   --rc-web-gui
10478       Set this flag to serve the default web gui on the same port as rclone.
10479
10480       Default Off.
10481
10482   --rc-allow-origin
10483       Set the allowed Access-Control-Allow-Origin for rc requests.
10484
10485       Can be used with --rc-web-gui if the rclone is running on different  IP
10486       than the web-gui.
10487
10488       Default is IP address on which rc is running.
10489
10490   --rc-web-fetch-url
10491       Set the URL to fetch the rclone-web-gui files from.
10492
10493       Default  https://api.github.com/repos/rclone/rclone-webui-react/releas
10494       es/latest.
10495
10496   --rc-web-gui-update
10497       Set  this  flag  to  check  and  update  rclone-webui-react  from   the
10498       rc-web-fetch-url.
10499
10500       Default Off.
10501
10502   --rc-web-gui-force-update
10503       Set   this   flag   to   force   update   rclone-webui-react  from  the
10504       rc-web-fetch-url.
10505
10506       Default Off.
10507
10508   --rc-web-gui-no-open-browser
10509       Set this flag to  disable  opening  browser  automatically  when  using
10510       web-gui.
10511
10512       Default Off.
10513
10514   --rc-job-expire-duration=DURATION
10515       Expire finished async jobs older than DURATION (default 60s).
10516
10517   --rc-job-expire-interval=DURATION
10518       Interval duration to check for expired async jobs (default 10s).
10519
10520   --rc-no-auth
10521       By default rclone will require authorisation to have been set up on the
10522       rc interface in order to use any methods which access  any  rclone  re‐
10523       motes.   Eg  operations/list is denied as it involved creating a remote
10524       as is sync/copy.
10525
10526       If this is set then no authorisation will be required on the server  to
10527       use  these  methods.  The alternative is to use --rc-user and --rc-pass
10528       and use these credentials in the request.
10529
10530       Default Off.
10531
10532   Accessing the remote control via the rclone rc command
10533       Rclone itself implements the remote control protocol in its  rclone  rc
10534       command.
10535
10536       You can use it like this
10537
10538              $ rclone rc rc/noop param1=one param2=two
10539              {
10540                  "param1": "one",
10541                  "param2": "two"
10542              }
10543
10544       Run  rclone rc on its own to see the help for the installed remote con‐
10545       trol commands.
10546
10547   JSON input
10548       rclone rc also supports a --json flag which can be used  to  send  more
10549       complicated input parameters.
10550
10551              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
10552              {
10553                  "p1": [
10554                      1,
10555                      "2",
10556                      null,
10557                      4
10558                  ],
10559                  "p2": {
10560                      "a": 1,
10561                      "b": 2
10562                  }
10563              }
10564
10565       If  the  parameter being passed is an object then it can be passed as a
10566       JSON string rather than using the --json flag which simplifies the com‐
10567       mand line.
10568
10569              rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}'
10570
10571       Rather than
10572
10573              rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}'
10574
10575   Special parameters
10576       The  rc  interface  supports some special parameters which apply to all
10577       commands.  These start with _ to show they are different.
10578
10579   Running asynchronous jobs with _async = true
10580       Each rc call is classified as a job and it is assigned its own id.   By
10581       default  jobs  are  executed  immediately  as  they are created or syn‐
10582       chronously.
10583
10584       If _async has a true value when supplied to an rc call then it will re‐
10585       turn  immediately  with  a job id and the task will be run in the back‐
10586       ground.  The job/status call can be used  to  get  information  of  the
10587       background job.  The job can be queried for up to 1 minute after it has
10588       finished.
10589
10590       It is recommended that potentially long running jobs, e.g.   sync/sync,
10591       sync/copy,  sync/move, operations/purge are run with the _async flag to
10592       avoid any potential problems with the HTTP request and response  timing
10593       out.
10594
10595       Starting a job with the _async flag:
10596
10597              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
10598              {
10599                  "jobid": 2
10600              }
10601
10602       Query  the status to see if the job has finished.  For more information
10603       on the meaning of these return parameters see the job/status call.
10604
10605              $ rclone rc --json '{ "jobid":2 }' job/status
10606              {
10607                  "duration": 0.000124163,
10608                  "endTime": "2018-10-27T11:38:07.911245881+01:00",
10609                  "error": "",
10610                  "finished": true,
10611                  "id": 2,
10612                  "output": {
10613                      "_async": true,
10614                      "p1": [
10615                          1,
10616                          "2",
10617                          null,
10618                          4
10619                      ],
10620                      "p2": {
10621                          "a": 1,
10622                          "b": 2
10623                      }
10624                  },
10625                  "startTime": "2018-10-27T11:38:07.911121728+01:00",
10626                  "success": true
10627              }
10628
10629       job/list can be used to show the running or recently completed jobs
10630
10631              $ rclone rc job/list
10632              {
10633                  "jobids": [
10634                      2
10635                  ]
10636              }
10637
10638   Setting config flags with _config
10639       If you wish to set config (the equivalent of the global flags) for  the
10640       duration of an rc call only then pass in the _config parameter.
10641
10642       This  should  be  in  the same format as the config key returned by op‐
10643       tions/get.
10644
10645       For example, if you wished to run a sync with the --checksum parameter,
10646       you would pass this parameter in your JSON blob.
10647
10648              "_config":{"CheckSum": true}
10649
10650       If using rclone rc this could be passed as
10651
10652              rclone rc operations/sync ... _config='{"CheckSum": true}'
10653
10654       Any  config  parameters  you don't set will inherit the global defaults
10655       which were set with command line flags or environment variables.
10656
10657       Note that it is possible to set some values as strings  or  integers  -
10658       see  data  types (/#data-types) for more info.  Here is an example set‐
10659       ting the equivalent of --buffer-size in string or integer format.
10660
10661              "_config":{"BufferSize": "42M"}
10662              "_config":{"BufferSize": 44040192}
10663
10664       If you wish to check the _config assignment has  worked  properly  then
10665       calling options/local will show what the value got set to.
10666
10667   Setting filter flags with _filter
10668       If  you  wish  to  set filters for the duration of an rc call only then
10669       pass in the _filter parameter.
10670
10671       This should be in the same format as the filter  key  returned  by  op‐
10672       tions/get.
10673
10674       For example, if you wished to run a sync with these flags
10675
10676              --max-size 1M --max-age 42s --include "a" --include "b"
10677
10678       you would pass this parameter in your JSON blob.
10679
10680              "_filter":{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}
10681
10682       If using rclone rc this could be passed as
10683
10684              rclone rc ... _filter='{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}'
10685
10686       Any  filter  parameters  you don't set will inherit the global defaults
10687       which were set with command line flags or environment variables.
10688
10689       Note that it is possible to set some values as strings  or  integers  -
10690       see  data  types (/#data-types) for more info.  Here is an example set‐
10691       ting the equivalent of --buffer-size in string or integer format.
10692
10693              "_filter":{"MinSize": "42M"}
10694              "_filter":{"MinSize": 44040192}
10695
10696       If you wish to check the _filter assignment has  worked  properly  then
10697       calling options/local will show what the value got set to.
10698
10699   Assigning operations to groups with _group = value
10700       Each  rc call has its own stats group for tracking its metrics.  By de‐
10701       fault grouping is done by the composite group name from prefix job/ and
10702       id of the job like so job/1.
10703
10704       If _group has a value then stats for that request will be grouped under
10705       that value.  This allows caller to group stats under their own name.
10706
10707       Stats  for  specific  group  can  be  accessed  by  passing  group   to
10708       core/stats:
10709
10710              $ rclone rc --json '{ "group": "job/1" }' core/stats
10711              {
10712                  "speed": 12345
10713                  ...
10714              }
10715
10716   Data types
10717       When the API returns types, these will mostly be straight forward inte‐
10718       ger, string or boolean types.
10719
10720       However some of the types returned by the options/get call and taken by
10721       the  options/set  calls as well as the vfsOpt, mountOpt and the _config
10722       parameters.
10723
10724       • Duration - these are returned as an integer duration in  nanoseconds.
10725         They  may  be set as an integer, or they may be set with time string,
10726         eg "5s".  See the options section  (https://rclone.org/docs/#options)
10727         for more info.
10728
10729       • Size - these are returned as an integer number of bytes.  They may be
10730         set as an integer or they may be set with a size  suffix  string,  eg
10731         "10M".   See  the  options section (https://rclone.org/docs/#options)
10732         for more info.
10733
10734       • Enumerated  type  (such  as  CutoffMode,  DumpFlags,  LogLevel,  Vfs‐
10735         CacheMode - these will be returned as an integer and may be set as an
10736         integer but more conveniently they can be set as a string, eg  "HARD"
10737         for CutoffMode or DEBUG for LogLevel.
10738
10739       • BandwidthSpec - this will be set and returned as a string, eg "1M".
10740
10741   Specifying remotes to work on
10742       Remotes are specified with the fs=, srcFs=, dstFs= parameters depending
10743       on the command being used.
10744
10745       The parameters can be a string as per the rest of rclone,  eg  s3:buck‐
10746       et/path or :sftp:/my/dir.  They can also be specified as JSON blobs.
10747
10748       If  specifyng  a  JSON  blob  it  should be a object mapping strings to
10749       strings.  These values will be used to configure the remote.  There are
10750       3 special values which may be set:
10751
10752       • type - set to type to specify a remote called :type:
10753
10754       • _name - set to name to specify a remote called name:
10755
10756       • _root - sets the root of the remote - may be empty
10757
10758       One  of  _name or type should normally be set.  If the local backend is
10759       desired then type should be set to local.   If  _root  isn't  specified
10760       then it defaults to the root of the remote.
10761
10762       For example this JSON is equivalent to remote:/tmp
10763
10764              {
10765                  "_name": "remote",
10766                  "_path": "/tmp"
10767              }
10768
10769       And this is equivalent to :sftp,host='example.com':/tmp
10770
10771              {
10772                  "type": "sftp",
10773                  "host": "example.com",
10774                  "_path": "/tmp"
10775              }
10776
10777       And this is equivalent to /tmp/dir
10778
10779              {
10780                  type = "local",
10781                  _ path = "/tmp/dir"
10782              }
10783
10784   Supported commands
10785   backend/command: Runs a backend command.
10786       This takes the following parameters:
10787
10788       • command - a string with the command name
10789
10790       • fs - a remote name string e.g.  "drive:"
10791
10792       • arg - a list of arguments for the backend command
10793
10794       • opt - a map of string to string of options
10795
10796       Returns:
10797
10798       • result - result from the backend command
10799
10800       Example:
10801
10802              rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
10803
10804       Returns
10805
10806              {
10807                  "result": {
10808                      "arg": [
10809                          "path1",
10810                          "path2"
10811                      ],
10812                      "name": "noop",
10813                      "opt": {
10814                          "blue": "",
10815                          "echo": "yes"
10816                      }
10817                  }
10818              }
10819
10820       Note  that  this  is the direct equivalent of using this "backend" com‐
10821       mand:
10822
10823              rclone backend noop . -o echo=yes -o blue path1 path2
10824
10825       Note that arguments must be preceded by the "-a" flag
10826
10827       See the backend  (https://rclone.org/commands/rclone_backend/)  command
10828       for more information.
10829
10830       Authentication is required for this call.
10831
10832   cache/expire: Purge a remote from cache
10833       Purge  a remote from the cache backend.  Supports either a directory or
10834       a file.  Params: - remote = path to  remote  (required)  -  withData  =
10835       true/false to delete cached data (chunks) as well (optional)
10836
10837       Eg
10838
10839              rclone rc cache/expire remote=path/to/sub/folder/
10840              rclone rc cache/expire remote=/ withData=true
10841
10842   cache/fetch: Fetch file chunks
10843       Ensure the specified file chunks are cached on disk.
10844
10845       The  chunks=  parameter specifies the file chunks to check.  It takes a
10846       comma separated list of array slice indices.   The  slice  indices  are
10847       similar to Python slices: start[:end]
10848
10849       start  is  the  0  based chunk number from the beginning of the file to
10850       fetch inclusive.  end is 0 based chunk number from the beginning of the
10851       file  to  fetch  exclusive.  Both values can be negative, in which case
10852       they count from the back of the file.  The value "-5:"  represents  the
10853       last 5 chunks of a file.
10854
10855       Some  valid  examples  are:  ":5,-5:" -> the first and last five chunks
10856       "0,-2" -> the first and the second last chunk "0:10" -> the  first  ten
10857       chunks
10858
10859       Any parameter with a key that starts with "file" can be used to specify
10860       files to fetch, e.g.
10861
10862              rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
10863
10864       File names will automatically be encrypted when the a crypt  remote  is
10865       used on top of the cache.
10866
10867   cache/stats: Get cache stats
10868       Show statistics for the cache remote.
10869
10870   config/create: create the config for a remote.
10871       This takes the following parameters:
10872
10873       • name - name of remote
10874
10875       • parameters - a map of { "key": "value" } pairs
10876
10877       • type - type of the new remote
10878
10879       • opt - a dictionary of options to control the configuration
10880
10881         • obscure - declare passwords are plain and need obscuring
10882
10883         • noObscure  -  declare passwords are already obscured and don't need
10884           obscuring
10885
10886         • nonInteractive - don't interact with a user, return questions
10887
10888         • continue - continue the config process with an answer
10889
10890         • all - ask all the config questions not just the post config ones
10891
10892         • state - state to restart with - used with continue
10893
10894         • result - result to restart with - used with continue
10895
10896       See the config create command  (https://rclone.org/commands/rclone_con
10897       fig_create/) command for more information on the above.
10898
10899       Authentication is required for this call.
10900
10901   config/delete: Delete a remote in the config file.
10902       Parameters:
10903
10904       • name - name of remote to delete
10905
10906       See  the config delete command (https://rclone.org/commands/rclone_con
10907       fig_delete/) command for more information on the above.
10908
10909       Authentication is required for this call.
10910
10911   config/dump: Dumps the config file.
10912       Returns a JSON object: - key: value
10913
10914       Where keys are remote names and values are the config parameters.
10915
10916       See the config  dump  command  (https://rclone.org/commands/rclone_con
10917       fig_dump/) command for more information on the above.
10918
10919       Authentication is required for this call.
10920
10921   config/get: Get a remote in the config file.
10922       Parameters:
10923
10924       • name - name of remote to get
10925
10926       See  the  config  dump command (https://rclone.org/commands/rclone_con
10927       fig_dump/) command for more information on the above.
10928
10929       Authentication is required for this call.
10930
10931   config/listremotes: Lists the remotes in the config file.
10932       Returns - remotes - array of remote names
10933
10934       See     the      listremotes      command      (https://rclone.org/com
10935       mands/rclone_listremotes/) command for more information on the above.
10936
10937       Authentication is required for this call.
10938
10939   config/password: password the config for a remote.
10940       This takes the following parameters:
10941
10942       • name - name of remote
10943
10944       • parameters - a map of { "key": "value" } pairs
10945
10946       See    the    config    password    command    (https://rclone.org/com
10947       mands/rclone_config_password/) command  for  more  information  on  the
10948       above.
10949
10950       Authentication is required for this call.
10951
10952   config/providers: Shows how providers are configured in the config file.
10953       Returns a JSON object: - providers - array of objects
10954
10955       See    the    config    providers    command   (https://rclone.org/com
10956       mands/rclone_config_providers/) command for  more  information  on  the
10957       above.
10958
10959       Authentication is required for this call.
10960
10961   config/update: update the config for a remote.
10962       This takes the following parameters:
10963
10964       • name - name of remote
10965
10966       • parameters - a map of { "key": "value" } pairs
10967
10968       • opt - a dictionary of options to control the configuration
10969
10970         • obscure - declare passwords are plain and need obscuring
10971
10972         • noObscure  -  declare passwords are already obscured and don't need
10973           obscuring
10974
10975         • nonInteractive - don't interact with a user, return questions
10976
10977         • continue - continue the config process with an answer
10978
10979         • all - ask all the config questions not just the post config ones
10980
10981         • state - state to restart with - used with continue
10982
10983         • result - result to restart with - used with continue
10984
10985       See the config update command  (https://rclone.org/commands/rclone_con
10986       fig_update/) command for more information on the above.
10987
10988       Authentication is required for this call.
10989
10990   core/bwlimit: Set the bandwidth limit.
10991       This  sets the bandwidth limit to the string passed in.  This should be
10992       a single bandwidth limit entry or a pair of upload:download bandwidth.
10993
10994       Eg
10995
10996              rclone rc core/bwlimit rate=off
10997              {
10998                  "bytesPerSecond": -1,
10999                  "bytesPerSecondTx": -1,
11000                  "bytesPerSecondRx": -1,
11001                  "rate": "off"
11002              }
11003              rclone rc core/bwlimit rate=1M
11004              {
11005                  "bytesPerSecond": 1048576,
11006                  "bytesPerSecondTx": 1048576,
11007                  "bytesPerSecondRx": 1048576,
11008                  "rate": "1M"
11009              }
11010              rclone rc core/bwlimit rate=1M:100k
11011              {
11012                  "bytesPerSecond": 1048576,
11013                  "bytesPerSecondTx": 1048576,
11014                  "bytesPerSecondRx": 131072,
11015                  "rate": "1M"
11016              }
11017
11018       If the rate parameter is not supplied then the bandwidth is queried
11019
11020              rclone rc core/bwlimit
11021              {
11022                  "bytesPerSecond": 1048576,
11023                  "bytesPerSecondTx": 1048576,
11024                  "bytesPerSecondRx": 1048576,
11025                  "rate": "1M"
11026              }
11027
11028       The format of the parameter is exactly the same as passed to  --bwlimit
11029       except only one bandwidth may be specified.
11030
11031       In  either  case  "rate"  is  returned  as a human readable string, and
11032       "bytesPerSecond" is returned as a number.
11033
11034   core/command: Run a rclone terminal command over rc.
11035       This takes the following parameters:
11036
11037       • command - a string with the command name.
11038
11039       • arg - a list of arguments for the backend command.
11040
11041       • opt - a map of string to string of options.
11042
11043       • returnType - one of ("COMBINED_OUTPUT",  "STREAM",  "STREAM_ONLY_STD‐
11044         OUT", "STREAM_ONLY_STDERR").
11045
11046         • Defaults to "COMBINED_OUTPUT" if not set.
11047
11048         • The  STREAM  returnTypes  will  write the output to the body of the
11049           HTTP message.
11050
11051         • The COMBINED_OUTPUT will write the output to the  "result"  parame‐
11052           ter.
11053
11054       Returns:
11055
11056       • result - result from the backend command.
11057
11058         • Only set when using returnType "COMBINED_OUTPUT".
11059
11060       • error - set if rclone exits with an error code.
11061
11062       • returnType  -  one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STD‐
11063         OUT", "STREAM_ONLY_STDERR").
11064
11065       Example:
11066
11067              rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
11068              rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
11069
11070       Returns:
11071
11072              {
11073                  "error": false,
11074                  "result": "<Raw command line output>"
11075              }
11076
11077              OR
11078              {
11079                  "error": true,
11080                  "result": "<Raw command line output>"
11081              }
11082
11083       Authentication is required for this call.
11084
11085   core/gc: Runs a garbage collection.
11086       This tells the go runtime to do a garbage  collection  run.   It  isn't
11087       necessary  to  call  this  normally, but it can be useful for debugging
11088       memory problems.
11089
11090   core/group-list: Returns list of stats.
11091       This returns list of stats groups currently in memory.
11092
11093       Returns the following values:
11094
11095              {
11096                  "groups":  an array of group names:
11097                      [
11098                          "group1",
11099                          "group2",
11100                          ...
11101                      ]
11102              }
11103
11104   core/memstats: Returns the memory statistics
11105       This returns the memory statistics of the running  program.   What  the
11106       values  mean  are explained in the go docs: https://golang.org/pkg/run
11107       time/#MemStats
11108
11109       The most interesting values for most people are:
11110
11111       • HeapAlloc - this is the amount of memory rclone is actually using
11112
11113       • HeapSys - this is the amount of memory rclone has obtained  from  the
11114         OS
11115
11116       • Sys - this is the total amount of memory requested from the OS
11117
11118         • It is virtual memory so may include unused memory
11119
11120   core/obscure: Obscures a string passed in.
11121       Pass  a  clear string and rclone will obscure it for the config file: -
11122       clear - string
11123
11124       Returns: - obscured - string
11125
11126   core/pid: Return PID of current process
11127       This returns PID  of  current  process.   Useful  for  stopping  rclone
11128       process.
11129
11130   core/quit: Terminates the app.
11131       (Optional)  Pass an exit code to be used for terminating the app: - ex‐
11132       itCode - int
11133
11134   core/stats: Returns stats about current transfers.
11135       This returns all available stats:
11136
11137              rclone rc core/stats
11138
11139       If group is not provided then summed up stats for all  groups  will  be
11140       returned.
11141
11142       Parameters
11143
11144       • group - name of the stats group (string)
11145
11146       Returns the following values:
11147
11148              {
11149                  "bytes": total transferred bytes since the start of the group,
11150                  "checks": number of files checked,
11151                  "deletes" : number of files deleted,
11152                  "elapsedTime": time in floating point seconds since rclone was started,
11153                  "errors": number of errors,
11154                  "eta": estimated time in seconds until the group completes,
11155                  "fatalError": boolean whether there has been at least one fatal error,
11156                  "lastError": last error string,
11157                  "renames" : number of files renamed,
11158                  "retryError": boolean showing whether there has been at least one non-NoRetryError,
11159                  "speed": average speed in bytes per second since start of the group,
11160                  "totalBytes": total number of bytes in the group,
11161                  "totalChecks": total number of checks in the group,
11162                  "totalTransfers": total number of transfers in the group,
11163                  "transferTime" : total time spent on running jobs,
11164                  "transfers": number of transferred files,
11165                  "transferring": an array of currently active file transfers:
11166                      [
11167                          {
11168                              "bytes": total transferred bytes for this file,
11169                              "eta": estimated time in seconds until file transfer completion
11170                              "name": name of the file,
11171                              "percentage": progress of the file transfer in percent,
11172                              "speed": average speed over the whole transfer in bytes per second,
11173                              "speedAvg": current speed in bytes per second as an exponentially weighted moving average,
11174                              "size": size of the file in bytes
11175                          }
11176                      ],
11177                  "checking": an array of names of currently active file checks
11178                      []
11179              }
11180
11181       Values for "transferring", "checking" and "lastError" are only assigned
11182       if data is available.  The value for "eta" is null if an eta cannot  be
11183       determined.
11184
11185   core/stats-delete: Delete stats group.
11186       This deletes entire stats group.
11187
11188       Parameters
11189
11190       • group - name of the stats group (string)
11191
11192   core/stats-reset: Reset stats.
11193       This  clears  counters,  errors and finished transfers for all stats or
11194       specific stats group if group is provided.
11195
11196       Parameters
11197
11198       • group - name of the stats group (string)
11199
11200   core/transferred: Returns stats about completed transfers.
11201       This returns stats about completed transfers:
11202
11203              rclone rc core/transferred
11204
11205       If group is not provided then completed transfers for all  groups  will
11206       be returned.
11207
11208       Note only the last 100 completed transfers are returned.
11209
11210       Parameters
11211
11212       • group - name of the stats group (string)
11213
11214       Returns the following values:
11215
11216              {
11217                  "transferred":  an array of completed transfers (including failed ones):
11218                      [
11219                          {
11220                              "name": name of the file,
11221                              "size": size of the file in bytes,
11222                              "bytes": total transferred bytes for this file,
11223                              "checked": if the transfer is only checked (skipped, deleted),
11224                              "timestamp": integer representing millisecond unix epoch,
11225                              "error": string description of the error (empty if successful),
11226                              "jobid": id of the job that this transfer belongs to
11227                          }
11228                      ]
11229              }
11230
11231   core/version: Shows the current version of rclone and the go runtime.
11232       This shows the current version of go and the go runtime:
11233
11234       • version - rclone version, e.g.  "v1.53.0"
11235
11236       • decomposed - version number as [major, minor, patch]
11237
11238       • isGit - boolean - true if this was compiled from the git version
11239
11240       • isBeta - boolean - true if this is a beta version
11241
11242       • os - OS in use as according to Go
11243
11244       • arch - cpu architecture in use according to Go
11245
11246       • goVersion - version of Go runtime in use
11247
11248       • linking - type of rclone executable (static or dynamic)
11249
11250       • goTags - space separated build tags or "none"
11251
11252   debug/set-block-profile-rate:  Set runtime.SetBlockProfileRate for blocking
11253       profiling.
11254       SetBlockProfileRate controls the fraction of goroutine blocking  events
11255       that are reported in the blocking profile.  The profiler aims to sample
11256       an average of one blocking event per rate nanoseconds spent blocked.
11257
11258       To include every blocking event in the profile, pass rate = 1.  To turn
11259       off profiling entirely, pass rate <= 0.
11260
11261       After calling this you can use this to see the blocking profile:
11262
11263              go tool pprof http://localhost:5572/debug/pprof/block
11264
11265       Parameters:
11266
11267       • rate - int
11268
11269   debug/set-mutex-profile-fraction:  Set  runtime.SetMutexProfileFraction for
11270       mutex profiling.
11271       SetMutexProfileFraction  controls  the  fraction  of  mutex  contention
11272       events  that  are  reported  in  the  mutex profile.  On average 1/rate
11273       events are reported.  The previous rate is returned.
11274
11275       To turn off profiling entirely, pass rate 0.  To just read the  current
11276       rate, pass rate < 0.  (For n>1 the details of sampling may change.)
11277
11278       Once this is set you can look use this to profile the mutex contention:
11279
11280              go tool pprof http://localhost:5572/debug/pprof/mutex
11281
11282       Parameters:
11283
11284       • rate - int
11285
11286       Results:
11287
11288       • previousRate - int
11289
11290   fscache/clear: Clear the Fs cache.
11291       This  clears the fs cache.  This is where remotes created from backends
11292       are cached for a short while to make repeated rc calls more efficient.
11293
11294       If you change the parameters of a backend then you  may  want  to  call
11295       this  to  clear  an existing remote out of the cache before re-creating
11296       it.
11297
11298       Authentication is required for this call.
11299
11300   fscache/entries: Returns the number of entries in the fs cache.
11301       This returns the number of entries in the fs cache.
11302
11303       Returns - entries - number of items in the cache
11304
11305       Authentication is required for this call.
11306
11307   job/list: Lists the IDs of the running jobs
11308       Parameters: None.
11309
11310       Results:
11311
11312       • jobids - array of integer job ids.
11313
11314   job/status: Reads the status of the job ID
11315       Parameters:
11316
11317       • jobid - id of the job (integer).
11318
11319       Results:
11320
11321       • finished - boolean
11322
11323       • duration - time in seconds that the job ran for
11324
11325       • endTime      -      time      the      job       finished       (e.g.
11326         "2018-10-26T18:50:20.528746884+01:00")
11327
11328       • error - error from the job or empty string for no error
11329
11330       • finished - boolean whether the job has finished or not
11331
11332       • id - as passed in above
11333
11334       • startTime       -      time      the      job      started      (e.g.
11335         "2018-10-26T18:50:20.528336039+01:00")
11336
11337       • success - boolean - true for success false otherwise
11338
11339       • output - output of the job as would have been returned if called syn‐
11340         chronously
11341
11342       • progress - output of the progress related to the underlying job
11343
11344   job/stop: Stop the running job
11345       Parameters:
11346
11347       • jobid - id of the job (integer).
11348
11349   mount/listmounts: Show current mount points
11350       This  shows  currently mounted points, which can be used for performing
11351       an unmount.
11352
11353       This takes no parameters and returns
11354
11355       • mountPoints: list of current mount points
11356
11357       Eg
11358
11359              rclone rc mount/listmounts
11360
11361       Authentication is required for this call.
11362
11363   mount/mount: Create a new mount point
11364       rclone allows Linux,  FreeBSD,  macOS  and  Windows  to  mount  any  of
11365       Rclone's cloud storage systems as a file system with FUSE.
11366
11367       If  no  mountType  is  provided,  the  priority is given as follows: 1.
11368       mount 2.cmount 3.mount2
11369
11370       This takes the following parameters:
11371
11372       • fs - a remote path to be mounted (required)
11373
11374       • mountPoint: valid path on the local machine (required)
11375
11376       • mountType: one of the values (mount, cmount,  mount2)  specifies  the
11377         mount implementation to use
11378
11379       • mountOpt: a JSON object with Mount options in.
11380
11381       • vfsOpt: a JSON object with VFS options in.
11382
11383       Example:
11384
11385              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
11386              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
11387              rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}'
11388
11389       The  vfsOpt  are as described in options/get and can be seen in the the
11390       "vfs" section when running and the mountOpt can be seen in the  "mount"
11391       section:
11392
11393              rclone rc options/get
11394
11395       Authentication is required for this call.
11396
11397   mount/types: Show all possible mount types
11398       This shows all possible mount types and returns them as a list.
11399
11400       This takes no parameters and returns
11401
11402       • mountTypes: list of mount types
11403
11404       The mount types are strings like "mount", "mount2", "cmount" and can be
11405       passed to mount/mount as the mountType parameter.
11406
11407       Eg
11408
11409              rclone rc mount/types
11410
11411       Authentication is required for this call.
11412
11413   mount/unmount: Unmount selected active mount
11414       rclone allows Linux,  FreeBSD,  macOS  and  Windows  to  mount  any  of
11415       Rclone's cloud storage systems as a file system with FUSE.
11416
11417       This takes the following parameters:
11418
11419       • mountPoint:  valid path on the local machine where the mount was cre‐
11420         ated (required)
11421
11422       Example:
11423
11424              rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
11425
11426       Authentication is required for this call.
11427
11428   mount/unmountall: Show current mount points
11429       This shows currently mounted points, which can be used  for  performing
11430       an unmount.
11431
11432       This takes no parameters and returns error if unmount does not succeed.
11433
11434       Eg
11435
11436              rclone rc mount/unmountall
11437
11438       Authentication is required for this call.
11439
11440   operations/about: Return the space used on the remote
11441       This takes the following parameters:
11442
11443       • fs - a remote name string e.g.  "drive:"
11444
11445       The result is as returned from rclone about --json
11446
11447       See  the  about command (https://rclone.org/commands/rclone_size/) com‐
11448       mand for more information on the above.
11449
11450       Authentication is required for this call.
11451
11452   operations/cleanup: Remove trashed files in the remote or path
11453       This takes the following parameters:
11454
11455       • fs - a remote name string e.g.  "drive:"
11456
11457       See the cleanup  command  (https://rclone.org/commands/rclone_cleanup/)
11458       command for more information on the above.
11459
11460       Authentication is required for this call.
11461
11462   operations/copyfile: Copy a file from source remote to destination remote
11463       This takes the following parameters:
11464
11465       • srcFs - a remote name string e.g.  "drive:" for the source
11466
11467       • srcRemote - a path within that remote e.g.  "file.txt" for the source
11468
11469       • dstFs - a remote name string e.g.  "drive2:" for the destination
11470
11471       • dstRemote  - a path within that remote e.g.  "file2.txt" for the des‐
11472         tination
11473
11474       Authentication is required for this call.
11475
11476   operations/copyurl: Copy the URL to the object
11477       This takes the following parameters:
11478
11479       • fs - a remote name string e.g.  "drive:"
11480
11481       • remote - a path within that remote e.g.  "dir"
11482
11483       • url - string, URL to read from
11484
11485       • autoFilename - boolean, set to true to retrieve destination file name
11486         from   url   See   the   copyurl   command   (https://rclone.org/com
11487         mands/rclone_copyurl/) command for more information on the above.
11488
11489       Authentication is required for this call.
11490
11491   operations/delete: Remove files in the path
11492       This takes the following parameters:
11493
11494       • fs - a remote name string e.g.  "drive:"
11495
11496       See  the  delete  command  (https://rclone.org/commands/rclone_delete/)
11497       command for more information on the above.
11498
11499       Authentication is required for this call.
11500
11501   operations/deletefile: Remove the single file pointed to
11502       This takes the following parameters:
11503
11504       • fs - a remote name string e.g.  "drive:"
11505
11506       • remote - a path within that remote e.g.  "dir"
11507
11508       See  the deletefile command (https://rclone.org/commands/rclone_delete
11509       file/) command for more information on the above.
11510
11511       Authentication is required for this call.
11512
11513   operations/fsinfo: Return information about the remote
11514       This takes the following parameters:
11515
11516       • fs - a remote name string e.g.  "drive:"
11517
11518       This returns info about the remote passed in;
11519
11520              {
11521                  // optional features and whether they are available or not
11522                  "Features": {
11523                      "About": true,
11524                      "BucketBased": false,
11525                      "CanHaveEmptyDirectories": true,
11526                      "CaseInsensitive": false,
11527                      "ChangeNotify": false,
11528                      "CleanUp": false,
11529                      "Copy": false,
11530                      "DirCacheFlush": false,
11531                      "DirMove": true,
11532                      "DuplicateFiles": false,
11533                      "GetTier": false,
11534                      "ListR": false,
11535                      "MergeDirs": false,
11536                      "Move": true,
11537                      "OpenWriterAt": true,
11538                      "PublicLink": false,
11539                      "Purge": true,
11540                      "PutStream": true,
11541                      "PutUnchecked": false,
11542                      "ReadMimeType": false,
11543                      "ServerSideAcrossConfigs": false,
11544                      "SetTier": false,
11545                      "SetWrapper": false,
11546                      "UnWrap": false,
11547                      "WrapFs": false,
11548                      "WriteMimeType": false
11549                  },
11550                  // Names of hashes available
11551                  "Hashes": [
11552                      "MD5",
11553                      "SHA-1",
11554                      "DropboxHash",
11555                      "QuickXorHash"
11556                  ],
11557                  "Name": "local",    // Name as created
11558                  "Precision": 1,     // Precision of timestamps in ns
11559                  "Root": "/",        // Path as created
11560                  "String": "Local file system at /" // how the remote will appear in logs
11561              }
11562
11563       This command does not have a command line equivalent so  use  this  in‐
11564       stead:
11565
11566              rclone rc --loopback operations/fsinfo fs=remote:
11567
11568   operations/list: List the given remote and path in JSON format
11569       This takes the following parameters:
11570
11571       • fs - a remote name string e.g.  "drive:"
11572
11573       • remote - a path within that remote e.g.  "dir"
11574
11575       • opt - a dictionary of options to control the listing (optional)
11576
11577         • recurse - If set recurse directories
11578
11579         • noModTime - If set return modification time
11580
11581         • showEncrypted - If set show decrypted names
11582
11583         • showOrigIDs - If set show the IDs for each item if known
11584
11585         • showHash - If set return a dictionary of hashes
11586
11587         • noMimeType - If set don't show mime types
11588
11589         • dirsOnly - If set only show directories
11590
11591         • filesOnly - If set only show files
11592
11593         • hashTypes - array of strings of hash types to show if showHash set
11594
11595       Returns:
11596
11597       • list
11598
11599         • This is an array of objects as described in the lsjson command
11600
11601       See the lsjson command (https://rclone.org/commands/rclone_lsjson/) for
11602       more information on the above and examples.
11603
11604       Authentication is required for this call.
11605
11606   operations/mkdir: Make a destination directory or container
11607       This takes the following parameters:
11608
11609       • fs - a remote name string e.g.  "drive:"
11610
11611       • remote - a path within that remote e.g.  "dir"
11612
11613       See the mkdir command (https://rclone.org/commands/rclone_mkdir/)  com‐
11614       mand for more information on the above.
11615
11616       Authentication is required for this call.
11617
11618   operations/movefile: Move a file from source remote to destination remote
11619       This takes the following parameters:
11620
11621       • srcFs - a remote name string e.g.  "drive:" for the source
11622
11623       • srcRemote - a path within that remote e.g.  "file.txt" for the source
11624
11625       • dstFs - a remote name string e.g.  "drive2:" for the destination
11626
11627       • dstRemote  - a path within that remote e.g.  "file2.txt" for the des‐
11628         tination
11629
11630       Authentication is required for this call.
11631
11632   operations/publiclink: Create or retrieve a public link to the  given  file
11633       or folder.
11634       This takes the following parameters:
11635
11636       • fs - a remote name string e.g.  "drive:"
11637
11638       • remote - a path within that remote e.g.  "dir"
11639
11640       • unlink - boolean - if set removes the link rather than adding it (op‐
11641         tional)
11642
11643       • expire - string - the expiry time of the link e.g.  "1d" (optional)
11644
11645       Returns:
11646
11647       • url - URL of the resource
11648
11649       See the link command (https://rclone.org/commands/rclone_link/) command
11650       for more information on the above.
11651
11652       Authentication is required for this call.
11653
11654   operations/purge: Remove a directory or container and all of its contents
11655       This takes the following parameters:
11656
11657       • fs - a remote name string e.g.  "drive:"
11658
11659       • remote - a path within that remote e.g.  "dir"
11660
11661       See  the purge command (https://rclone.org/commands/rclone_purge/) com‐
11662       mand for more information on the above.
11663
11664       Authentication is required for this call.
11665
11666   operations/rmdir: Remove an empty directory or container
11667       This takes the following parameters:
11668
11669       • fs - a remote name string e.g.  "drive:"
11670
11671       • remote - a path within that remote e.g.  "dir"
11672
11673       See the rmdir command (https://rclone.org/commands/rclone_rmdir/)  com‐
11674       mand for more information on the above.
11675
11676       Authentication is required for this call.
11677
11678   operations/rmdirs: Remove all the empty directories in the path
11679       This takes the following parameters:
11680
11681       • fs - a remote name string e.g.  "drive:"
11682
11683       • remote - a path within that remote e.g.  "dir"
11684
11685       • leaveRoot  -  boolean,  set  to  true  not to delete the root See the
11686         rmdirs command  (https://rclone.org/commands/rclone_rmdirs/)  command
11687         for more information on the above.
11688
11689       Authentication is required for this call.
11690
11691   operations/size: Count the number of bytes and files in remote
11692       This takes the following parameters:
11693
11694       • fs - a remote name string e.g.  "drive:path/to/dir"
11695
11696       Returns:
11697
11698       • count - number of files
11699
11700       • bytes - number of bytes in those files
11701
11702       See the size command (https://rclone.org/commands/rclone_size/) command
11703       for more information on the above.
11704
11705       Authentication is required for this call.
11706
11707   operations/stat: Give information about the supplied file or directory
11708       This takes the following parameters
11709
11710       • fs - a remote name string eg "drive:"
11711
11712       • remote - a path within that remote eg "dir"
11713
11714       • opt - a dictionary of options to control the listing (optional)
11715
11716         • see operations/list for the options
11717
11718       The result is
11719
11720       • item - an object as described in the lsjson command.  Will be null if
11721         not found.
11722
11723       Note  that if you are only interested in files then it is much more ef‐
11724       ficient to set the filesOnly flag in the options.
11725
11726       See the lsjson command (https://rclone.org/commands/rclone_lsjson/) for
11727       more information on the above and examples.
11728
11729       Authentication is required for this call.
11730
11731   operations/uploadfile: Upload file using multiform/form-data
11732       This takes the following parameters:
11733
11734       • fs - a remote name string e.g.  "drive:"
11735
11736       • remote - a path within that remote e.g.  "dir"
11737
11738       • each part in body represents a file to be uploaded See the uploadfile
11739         command (https://rclone.org/commands/rclone_uploadfile/) command  for
11740         more information on the above.
11741
11742       Authentication is required for this call.
11743
11744   options/blocks: List all the option blocks
11745       Returns: - options - a list of the options block names
11746
11747   options/get: Get all the global options
11748       Returns  an  object where keys are option block names and values are an
11749       object with the current option values in.
11750
11751       Note that these are the global options which are unaffected by  use  of
11752       the _config and _filter parameters.  If you wish to read the parameters
11753       set in _config then use options/config and for _filter use options/fil‐
11754       ter.
11755
11756       This  shows the internal names of the option within rclone which should
11757       map to the external options very easily with a few exceptions.
11758
11759   options/local: Get the currently active config for this call
11760       Returns an object with the keys "config" and  "filter".   The  "config"
11761       key  contains  the local config and the "filter" key contains the local
11762       filters.
11763
11764       Note that these are the local options specific to  this  rc  call.   If
11765       _config  was  not supplied then they will be the global options.  Like‐
11766       wise with "_filter".
11767
11768       This call is mostly useful for seeing if _config and _filter passing is
11769       working.
11770
11771       This  shows the internal names of the option within rclone which should
11772       map to the external options very easily with a few exceptions.
11773
11774   options/set: Set an option
11775       Parameters:
11776
11777       • option block name containing an object with
11778
11779         • key: value
11780
11781       Repeated as often as required.
11782
11783       Only supply the options you wish to change.  If an option is unknown it
11784       will  be  silently  ignored.   Not all options will have an effect when
11785       changed like this.
11786
11787       For example:
11788
11789       This sets DEBUG level logs (-vv) (these can be set by number or string)
11790
11791              rclone rc options/set --json '{"main": {"LogLevel": "DEBUG"}}'
11792              rclone rc options/set --json '{"main": {"LogLevel": 8}}'
11793
11794       And this sets INFO level logs (-v)
11795
11796              rclone rc options/set --json '{"main": {"LogLevel": "INFO"}}'
11797
11798       And this sets NOTICE level logs (normal without -v)
11799
11800              rclone rc options/set --json '{"main": {"LogLevel": "NOTICE"}}'
11801
11802   pluginsctl/addPlugin: Add a plugin using url
11803       Used for adding a plugin to the webgui.
11804
11805       This takes the following parameters:
11806
11807       • url - http url  of  the  github  repo  where  the  plugin  is  hosted
11808         (http://github.com/rclone/rclone-webui-react).
11809
11810       Example:
11811
11812       rclone rc pluginsctl/addPlugin
11813
11814       Authentication is required for this call.
11815
11816   pluginsctl/getPluginsForType: Get plugins with type criteria
11817       This shows all possible plugins by a mime type.
11818
11819       This takes the following parameters:
11820
11821       • type  -  supported mime type by a loaded plugin e.g.  (video/mp4, au‐
11822         dio/mp3).
11823
11824       • pluginType - filter plugins based on  their  type  e.g.   (DASHBOARD,
11825         FILE_HANDLER, TERMINAL).
11826
11827       Returns:
11828
11829       • loadedPlugins - list of current production plugins.
11830
11831       • testPlugins - list of temporarily loaded development plugins, usually
11832         running on a different server.
11833
11834       Example:
11835
11836       rclone rc pluginsctl/getPluginsForType type=video/mp4
11837
11838       Authentication is required for this call.
11839
11840   pluginsctl/listPlugins: Get the list of currently loaded plugins
11841       This allows you to get the currently enabled plugins and their details.
11842
11843       This takes no parameters and returns:
11844
11845       • loadedPlugins - list of current production plugins.
11846
11847       • testPlugins - list of temporarily loaded development plugins, usually
11848         running on a different server.
11849
11850       E.g.
11851
11852       rclone rc pluginsctl/listPlugins
11853
11854       Authentication is required for this call.
11855
11856   pluginsctl/listTestPlugins: Show currently loaded test plugins
11857       Allows  listing  of  test  plugins  with the rclone.test set to true in
11858       package.json of the plugin.
11859
11860       This takes no parameters and returns:
11861
11862       • loadedTestPlugins - list of currently available test plugins.
11863
11864       E.g.
11865
11866              rclone rc pluginsctl/listTestPlugins
11867
11868       Authentication is required for this call.
11869
11870   pluginsctl/removePlugin: Remove a loaded plugin
11871       This allows you to remove a plugin using it's name.
11872
11873       This takes parameters:
11874
11875       • name - name of the plugin in the format author/plugin_name.
11876
11877       E.g.
11878
11879       rclone rc pluginsctl/removePlugin name=rclone/video-plugin
11880
11881       Authentication is required for this call.
11882
11883   pluginsctl/removeTestPlugin: Remove a test plugin
11884       This allows you to remove a plugin using it's name.
11885
11886       This takes the following parameters:
11887
11888       • name - name of the plugin in the format author/plugin_name.
11889
11890       Example:
11891
11892              rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
11893
11894       Authentication is required for this call.
11895
11896   rc/error: This returns an error
11897       This returns an error with the input as part of its error string.  Use‐
11898       ful for testing error handling.
11899
11900   rc/list: List all the registered remote control commands
11901       This  lists all the registered remote control commands as a JSON map in
11902       the commands response.
11903
11904   rc/noop: Echo the input to the output parameters
11905       This echoes the input parameters to the output parameters  for  testing
11906       purposes.   It  can  be used to check that rclone is still alive and to
11907       check that parameter passing is working properly.
11908
11909   rc/noopauth: Echo the input to the output parameters requiring auth
11910       This echoes the input parameters to the output parameters  for  testing
11911       purposes.   It  can  be used to check that rclone is still alive and to
11912       check that parameter passing is working properly.
11913
11914       Authentication is required for this call.
11915
11916   sync/copy: copy a directory from source remote to destination remote
11917       This takes the following parameters:
11918
11919       • srcFs - a remote name string e.g.  "drive:src" for the source
11920
11921       • dstFs - a remote name string e.g.  "drive:dst" for the destination
11922
11923       • createEmptySrcDirs - create empty src directories on  destination  if
11924         set
11925
11926       See the copy command (https://rclone.org/commands/rclone_copy/) command
11927       for more information on the above.
11928
11929       Authentication is required for this call.
11930
11931   sync/move: move a directory from source remote to destination remote
11932       This takes the following parameters:
11933
11934       • srcFs - a remote name string e.g.  "drive:src" for the source
11935
11936       • dstFs - a remote name string e.g.  "drive:dst" for the destination
11937
11938       • createEmptySrcDirs - create empty src directories on  destination  if
11939         set
11940
11941       • deleteEmptySrcDirs - delete empty src directories if set
11942
11943       See the move command (https://rclone.org/commands/rclone_move/) command
11944       for more information on the above.
11945
11946       Authentication is required for this call.
11947
11948   sync/sync: sync a directory from source remote to destination remote
11949       This takes the following parameters:
11950
11951       • srcFs - a remote name string e.g.  "drive:src" for the source
11952
11953       • dstFs - a remote name string e.g.  "drive:dst" for the destination
11954
11955       • createEmptySrcDirs - create empty src directories on  destination  if
11956         set
11957
11958       See the sync command (https://rclone.org/commands/rclone_sync/) command
11959       for more information on the above.
11960
11961       Authentication is required for this call.
11962
11963   vfs/forget: Forget files or directories in the directory cache.
11964       This forgets the paths in  the  directory  cache  causing  them  to  be
11965       re-read from the remote when needed.
11966
11967       If  no paths are passed in then it will forget all the paths in the di‐
11968       rectory cache.
11969
11970              rclone rc vfs/forget
11971
11972       Otherwise pass files or dirs in as file=path or dir=path.  Any  parame‐
11973       ter  key starting with file will forget that file and any starting with
11974       dir will forget that dir, e.g.
11975
11976              rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
11977
11978       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
11979       plied  and  if there is only one VFS in use then that VFS will be used.
11980       If there is more than one VFS in use then the "fs"  parameter  must  be
11981       supplied.
11982
11983   vfs/list: List active VFSes.
11984       This lists the active VFSes.
11985
11986       It  returns  a  list under the key "vfses" where the values are the VFS
11987       names that could be passed to the other VFS commands in the "fs" param‐
11988       eter.
11989
11990   vfs/poll-interval:  Get the status or update the value of the poll-interval
11991       option.
11992       Without any parameter given this returns  the  current  status  of  the
11993       poll-interval setting.
11994
11995       When the interval=duration parameter is set, the poll-interval value is
11996       updated and the polling function is notified.  Setting interval=0  dis‐
11997       ables poll-interval.
11998
11999              rclone rc vfs/poll-interval interval=5m
12000
12001       The  timeout=duration  parameter  can be used to specify a time to wait
12002       for the current poll function to apply the new value.   If  timeout  is
12003       less or equal 0, which is the default, wait indefinitely.
12004
12005       The new poll-interval value will only be active when the timeout is not
12006       reached.
12007
12008       If poll-interval is updated or disabled temporarily, some changes might
12009       not  get  picked  up by the polling function, depending on the used re‐
12010       mote.
12011
12012       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
12013       plied  and  if there is only one VFS in use then that VFS will be used.
12014       If there is more than one VFS in use then the "fs"  parameter  must  be
12015       supplied.
12016
12017   vfs/refresh: Refresh the directory cache.
12018       This reads the directories for the specified paths and freshens the di‐
12019       rectory cache.
12020
12021       If no paths are passed in then it will refresh the root directory.
12022
12023              rclone rc vfs/refresh
12024
12025       Otherwise pass directories in as dir=path.  Any parameter key  starting
12026       with dir will refresh that directory, e.g.
12027
12028              rclone rc vfs/refresh dir=home/junk dir2=data/misc
12029
12030       If  the parameter recursive=true is given the whole directory tree will
12031       get refreshed.  This refresh will use --fast-list if enabled.
12032
12033       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
12034       plied  and  if there is only one VFS in use then that VFS will be used.
12035       If there is more than one VFS in use then the "fs"  parameter  must  be
12036       supplied.
12037
12038   Accessing the remote control via HTTP
12039       Rclone implements a simple HTTP based protocol.
12040
12041       Each  endpoint takes an JSON object and returns a JSON object or an er‐
12042       ror.  The JSON objects are essentially a map of string names to values.
12043
12044       All calls must made using POST.
12045
12046       The input objects can be supplied using URL parameters, POST parameters
12047       or by supplying "Content-Type: application/json" and a JSON blob in the
12048       body.  There are examples of these below using curl.
12049
12050       The response will be a JSON blob in the body of the response.  This  is
12051       formatted to be reasonably human readable.
12052
12053   Error returns
12054       If  an error occurs then there will be an HTTP error status (e.g.  500)
12055       and the body of the response will contain a JSON encoded error  object,
12056       e.g.
12057
12058              {
12059                  "error": "Expecting string value for key \"remote\" (was float64)",
12060                  "input": {
12061                      "fs": "/tmp",
12062                      "remote": 3
12063                  },
12064                  "status": 400
12065                  "path": "operations/rmdir",
12066              }
12067
12068       The keys in the error response are - error - error string - input - the
12069       input parameters to the call - status - the HTTP status code -  path  -
12070       the path of the call
12071
12072   CORS
12073       The  sever  implements  basic  CORS  support and allows all origins for
12074       that.  The response to a preflight OPTIONS request will  echo  the  re‐
12075       quested "Access-Control-Request-Headers" back.
12076
12077   Using POST with URL parameters only
12078              curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
12079
12080       Response
12081
12082              {
12083                  "potato": "1",
12084                  "sausage": "2"
12085              }
12086
12087       Here is what an error response looks like:
12088
12089              curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
12090
12091              {
12092                  "error": "arbitrary error on input map[potato:1 sausage:2]",
12093                  "input": {
12094                      "potato": "1",
12095                      "sausage": "2"
12096                  }
12097              }
12098
12099       Note that curl doesn't return errors to the shell unless you use the -f
12100       option
12101
12102              $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
12103              curl: (22) The requested URL returned error: 400 Bad Request
12104              $ echo $?
12105              22
12106
12107   Using POST with a form
12108              curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
12109
12110       Response
12111
12112              {
12113                  "potato": "1",
12114                  "sausage": "2"
12115              }
12116
12117       Note that you can combine these with URL parameters too with  the  POST
12118       parameters taking precedence.
12119
12120              curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
12121
12122       Response
12123
12124              {
12125                  "potato": "1",
12126                  "rutabaga": "3",
12127                  "sausage": "4"
12128              }
12129
12130   Using POST with a JSON blob
12131              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
12132
12133       response
12134
12135              {
12136                  "password": "xyz",
12137                  "username": "xyz"
12138              }
12139
12140       This  can  be  combined  with URL parameters too if required.  The JSON
12141       blob takes precedence.
12142
12143              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
12144
12145              {
12146                  "potato": 2,
12147                  "rutabaga": "3",
12148                  "sausage": 1
12149              }
12150
12151   Debugging rclone with pprof
12152       If you use the --rc flag this will also enable the use of the  go  pro‐
12153       filing tools on the same port.
12154
12155       To use these, first install go (https://golang.org/doc/install).
12156
12157   Debugging memory use
12158       To profile rclone's memory use you can run:
12159
12160              go tool pprof -web http://localhost:5572/debug/pprof/heap
12161
12162       This should open a page in your browser showing what is using what mem‐
12163       ory.
12164
12165       You can also use the -text flag to produce a textual summary
12166
12167              $ go tool pprof -text http://localhost:5572/debug/pprof/heap
12168              Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
12169                    flat  flat%   sum%        cum   cum%
12170               1024.03kB 66.62% 66.62%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
12171                   513kB 33.38%   100%      513kB 33.38%  net/http.newBufioWriterSize
12172                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/all.init
12173                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve.init
12174                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve/restic.init
12175                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
12176                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
12177                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
12178                       0     0%   100%  1024.03kB 66.62%  main.init
12179                       0     0%   100%      513kB 33.38%  net/http.(*conn).readRequest
12180                       0     0%   100%      513kB 33.38%  net/http.(*conn).serve
12181                       0     0%   100%  1024.03kB 66.62%  runtime.main
12182
12183   Debugging go routine leaks
12184       Memory leaks are most often caused by go routine leaks  keeping  memory
12185       alive which should have been garbage collected.
12186
12187       See all active go routines using
12188
12189              curl http://localhost:5572/debug/pprof/goroutine?debug=1
12190
12191       Or  go  to  http://localhost:5572/debug/pprof/goroutine?debug=1 in your
12192       browser.
12193
12194   Other profiles to look at
12195       You  can  see  a  summary  of  profiles  available   at   http://local
12196       host:5572/debug/pprof/
12197
12198       Here is how to use some of them:
12199
12200       • Memory: go tool pprof http://localhost:5572/debug/pprof/heap
12201
12202       • Go routines: curl http://localhost:5572/debug/pprof/goroutine?debug=1
12203
12204       • 30-second   CPU  profile:  go  tool  pprof  http://localhost:5572/de‐
12205         bug/pprof/profile
12206
12207       • 5-second    execution    trace:    wget     http://localhost:5572/de‐
12208         bug/pprof/trace?seconds=5
12209
12210       • Goroutine blocking profile
12211
12212         • Enable  first  with:  rclone rc debug/set-block-profile-rate rate=1
12213           (docs)
12214
12215         • go tool pprof http://localhost:5572/debug/pprof/block
12216
12217       • Contended mutexes:
12218
12219         • Enable  first  with:  rclone  rc   debug/set-mutex-profile-fraction
12220           rate=1 (docs)
12221
12222         • go tool pprof http://localhost:5572/debug/pprof/mutex
12223
12224       See  the  net/http/pprof  docs (https://golang.org/pkg/net/http/pprof/)
12225       for more info on how to use the profiling and for  a  general  overview
12226       see    the   Go   team's   blog   post   on   profiling   go   programs
12227       (https://blog.golang.org/profiling-go-programs).
12228
12229       The profiling hook is zero overhead unless it is  used  (https://stack
12230       overflow.com/q/26545159/164234).
12231

Overview of cloud storage systems

12233       Each  cloud  storage  system is slightly different.  Rclone attempts to
12234       provide a unified interface to them, but  some  underlying  differences
12235       show through.
12236
12237   Features
12238       Here is an overview of the major features of each cloud storage system.
12239
12240       Name             Hash       ModTime   Case Insen‐   Duplicate   MIME Type
12241                                             sitive        Files
12242       ──────────────────────────────────────────────────────────────────────────
12243       1Fichier       Whirlpool      No          No           Yes          R
12244       Amazon            MD5         No          Yes          No           R
12245       Drive
12246       Amazon   S3       MD5         Yes         No           No          R/W
12247       (or S3 com‐
12248       patible)
12249       Backblaze        SHA1         Yes         No           No          R/W
12250       B2
12251       Box              SHA1         Yes         Yes          No           -
12252       Citrix            MD5         Yes         Yes          No           -
12253       ShareFile
12254       Dropbox        DBHASH ¹       Yes         Yes          No           -
12255       Enterprise         -          Yes         Yes          No          R/W
12256       File Fabric
12257       FTP                -          No          No           No           -
12258       Google            MD5         Yes         No           No          R/W
12259       Cloud Stor‐
12260       age
12261       Google            MD5         Yes         No           Yes         R/W
12262       Drive
12263       Google Pho‐        -          No          No           Yes          R
12264       tos
12265       HDFS               -          Yes         No           No           -
12266       HTTP               -          No          No           No           R
12267       Hubic             MD5         Yes         No           No          R/W
12268       Jottacloud        MD5         Yes         Yes          No           R
12269       Koofr             MD5         No          Yes          No           -
12270       Mail.ru        Mailru ⁶       Yes         Yes          No           -
12271       Cloud
12272       Mega               -          No          No           Yes          -
12273       Memory            MD5         Yes         No           No           -
12274
12275
12276
12277       Microsoft         MD5         Yes         No           No          R/W
12278       Azure  Blob
12279       Storage
12280       Microsoft       SHA1 ⁵        Yes         Yes          No           R
12281       OneDrive
12282       OpenDrive         MD5         Yes         Yes       Partial ⁸       -
12283       OpenStack         MD5         Yes         No           No          R/W
12284       Swift
12285       pCloud        MD5, SHA1 ⁷     Yes         No           No           W
12286       premiu‐            -          No          Yes          No           R
12287       mize.me
12288       put.io          CRC-32        Yes         No           Yes          R
12289       QingStor          MD5         No          No           No          R/W
12290       Seafile            -          No          No           No           -
12291       SFTP          MD5, SHA1 ²     Yes       Depends        No           -
12292       Sia                -          No          No           No           -
12293       SugarSync          -          No          No           No           -
12294       Tardigrade         -          Yes         No           No           -
12295       Uptobox            -          No          No           Yes          -
12296       WebDAV        MD5, SHA1 ³    Yes ⁴      Depends        No           -
12297       Yandex Disk       MD5         Yes         No           No           R
12298       Zoho  Work‐        -          No          No           No           -
12299       Drive
12300       The   local       All         Yes       Depends        No           -
12301       filesystem
12302
12303   Notes
12304       ¹  Dropbox supports its own custom hash (https://www.dropbox.com/devel
12305       opers/reference/content-hash).  This is an SHA256 sum of all the 4  MiB
12306       block SHA256s.
12307
12308       ² SFTP supports checksums if the same login has shell access and md5sum
12309       or sha1sum as well as echo are in the remote's PATH.
12310
12311       ³ WebDAV supports hashes when used with Owncloud and Nextcloud only.
12312
12313       ⁴ WebDAV supports modtimes when used with Owncloud and Nextcloud only.
12314
12315       ⁵ Microsoft OneDrive Personal supports SHA1  hashes,  whereas  OneDrive
12316       for business and SharePoint server support Microsoft's own QuickXorHash
12317       (https://docs.microsoft.com/en-us/onedrive/developer/code-snip
12318       pets/quickxorhash).
12319
12320       ⁶ Mail.ru uses its own modified SHA1 hash
12321
12322       ⁷ pCloud only supports SHA1 (not MD5) in its EU region
12323
12324       ⁸  Opendrive  does  not support creation of duplicate files using their
12325       web client interface or other stock clients, but the underlying storage
12326       platform has been determined to allow duplicate files, and it is possi‐
12327       ble to create them with rclone.  It may be that this is a mistake or an
12328       unsupported feature.
12329
12330   Hash
12331       The  cloud  storage  system supports various hash types of the objects.
12332       The hashes are used when transferring data as an  integrity  check  and
12333       can  be  specifically used with the --checksum flag in syncs and in the
12334       check command.
12335
12336       To use the verify checksums when  transferring  between  cloud  storage
12337       systems they must support a common hash type.
12338
12339   ModTime
12340       The  cloud  storage  system  supports setting modification times on ob‐
12341       jects.  If it does then this enables a using the modification times  as
12342       part  of  the  sync.   If not then only the size will be checked by de‐
12343       fault, though the MD5SUM can be checked with the --checksum flag.
12344
12345       All cloud storage systems support some kind of date on the  object  and
12346       these will be set when transferring from the cloud storage system.
12347
12348   Case Insensitive
12349       If  a  cloud  storage  systems is case sensitive then it is possible to
12350       have two files which differ only in case, e.g.  file.txt and  FILE.txt.
12351       If a cloud storage system is case insensitive then that isn't possible.
12352
12353       This  can cause problems when syncing between a case insensitive system
12354       and a case sensitive system.  The symptom of this is that no matter how
12355       many times you run the sync it never completes fully.
12356
12357       The  local filesystem and SFTP may or may not be case sensitive depend‐
12358       ing on OS.
12359
12360       • Windows - usually case insensitive, though case is preserved
12361
12362       • OSX - usually case insensitive, though it is possible to format  case
12363         sensitive
12364
12365       • Linux  -  usually case sensitive, but there are case insensitive file
12366         systems (e.g.  FAT formatted USB keys)
12367
12368       Most of the time this doesn't cause any  problems  as  people  tend  to
12369       avoid files whose name differs only by case even on case sensitive sys‐
12370       tems.
12371
12372   Duplicate files
12373       If a cloud storage system allows duplicate files then it can  have  two
12374       objects with the same name.
12375
12376       This  confuses rclone greatly when syncing - use the rclone dedupe com‐
12377       mand to rename or remove duplicates.
12378
12379   Restricted filenames
12380       Some cloud storage systems might have restrictions  on  the  characters
12381       that are usable in file or directory names.  When rclone detects such a
12382       name during a file upload, it will transparently replace the restricted
12383       characters with similar looking Unicode characters.  To handle the dif‐
12384       ferent sets of restricted characters for different backends, rclone us‐
12385       es something it calls encoding.
12386
12387       This  process is designed to avoid ambiguous file names as much as pos‐
12388       sible and allow to move files between many cloud storage systems trans‐
12389       parently.
12390
12391       The  name  shown  by  rclone to the user or during log output will only
12392       contain a minimal set of replaced characters to ensure correct  format‐
12393       ting and not necessarily the actual name used on the cloud storage.
12394
12395       This  transformation  is  reversed  when  downloading a file or parsing
12396       rclone  arguments.   For  example,  when  uploading  a  file  named  my
12397       file?.txt to Onedrive, it will be displayed as my file?.txt on the con‐
12398       sole, but stored as my file?.txt to Onedrive (the ?  gets replaced  by
12399       the  similar  looking  ?  character, the so-called "fullwidth question
12400       mark").  The reverse  transformation  allows  to  read  a  file  unusu‐
12401       al/name.txt from Google Drive, by passing the name unusual/name.txt on
12402       the command line (the / needs to be replaced by the similar looking  /
12403       character).
12404
12405   Caveats
12406       The  filename  encoding system works well in most cases, at least where
12407       file names are written in English or similar languages.  You might  not
12408       even  notice  it:  It just works.  In some cases it may lead to issues,
12409       though.  E.g.  when file names are written  in  Chinese,  or  Japanese,
12410       where  it  is  always the Unicode fullwidth variants of the punctuation
12411       marks that are used.
12412
12413       On Windows, the characters :, * and ? are examples of restricted  char‐
12414       acters.   If  these are used in filenames on a remote that supports it,
12415       Rclone will transparently convert them to their fullwidth Unicode vari‐
12416       ants *, ? and : when downloading to Windows, and back again when up‐
12417       loading.  This way files with names that are not allowed on Windows can
12418       still be stored.
12419
12420       However, if you have files on your Windows system originally with these
12421       same Unicode characters in their names, they will be  included  in  the
12422       same  conversion  process.   E.g.  if you create a file in your Windows
12423       filesystem with name Test:1.jpg, where :  is  the  Unicode  fullwidth
12424       colon  symbol,  and use rclone to upload it to Google Drive, which sup‐
12425       ports regular : (halfwidth question  mark),  rclone  will  replace  the
12426       fullwidth  :  with  the halfwidth : and store the file as Test:1.jpg in
12427       Google Drive.  Since both Windows and  Google  Drive  allows  the  name
12428       Test:1.jpg,  it  would probably be better if rclone just kept the name
12429       as is in this case.
12430
12431       With the opposite situation; if you have a file  named  Test:1.jpg,  in
12432       your  Google Drive, e.g.  uploaded from a Linux system where : is valid
12433       in file names.  Then later use rclone to copy this file to your Windows
12434       computer  you  will  notice  that on your local disk it gets renamed to
12435       Test:1.jpg.  The original filename is not legal on Windows, due to the
12436       :,  and rclone therefore renames it to make the copy possible.  That is
12437       all good.  However, this can also lead to an issue: If you already  had
12438       a  different  file named Test:1.jpg on Windows, and then use rclone to
12439       copy either way.  Rclone will then  treat  the  file  originally  named
12440       Test:1.jpg on Google Drive and the file originally named Test:1.jpg on
12441       Windows as the same file, and replace the contents from  one  with  the
12442       other.
12443
12444       Its  virtually  impossible  to handle all cases like these correctly in
12445       all situations, but by customizing the encoding  option,  changing  the
12446       set  of  characters  that  rclone should convert, you should be able to
12447       create a configuration that works well  for  your  specific  situation.
12448       See  also  the  example (https://rclone.org/overview/#encoding-example-
12449       windows) below.
12450
12451       (Windows was used as an example of a file system with  many  restricted
12452       characters, and Google drive a storage system with few.)
12453
12454   Default restricted characters
12455       The table below shows the characters that are replaced by default.
12456
12457       When  a  replacement  character  is found in a filename, this character
12458       will be escaped with the ‛ character to  avoid  ambiguous  file  names.
12459       (e.g.  a file named ␀.txt would shown as ‛␀.txt)
12460
12461       Each cloud storage backend can use a different set of characters, which
12462       will be specified in the documentation for each backend.
12463
12464       Character   Value   Replacement
12465       ────────────────────────────────
12466       NUL         0x00         ␀
12467       SOH         0x01         ␁
12468       STX         0x02         ␂
12469       ETX         0x03         ␃
12470       EOT         0x04         ␄
12471       ENQ         0x05         ␅
12472       ACK         0x06         ␆
12473       BEL         0x07         ␇
12474       BS          0x08         ␈
12475       HT          0x09         ␉
12476       LF          0x0A         ␊
12477       VT          0x0B         ␋
12478       FF          0x0C         ␌
12479       CR          0x0D         ␍
12480       SO          0x0E         ␎
12481       SI          0x0F         ␏
12482       DLE         0x10         ␐
12483       DC1         0x11         ␑
12484       DC2         0x12         ␒
12485       DC3         0x13         ␓
12486       DC4         0x14         ␔
12487       NAK         0x15         ␕
12488       SYN         0x16         ␖
12489       ETB         0x17         ␗
12490       CAN         0x18         ␘
12491       EM          0x19         ␙
12492
12493       SUB         0x1A         ␚
12494       ESC         0x1B         ␛
12495       FS          0x1C         ␜
12496       GS          0x1D         ␝
12497       RS          0x1E         ␞
12498       US          0x1F         ␟
12499       /           0x2F        /
12500       DEL         0x7F         ␡
12501
12502       The default encoding will also encode these  file  names  as  they  are
12503       problematic with many cloud storage systems.
12504
12505       File name   Replacement
12506       ────────────────────────
12507       .               .
12508       ..             ..
12509
12510   Invalid UTF-8 bytes
12511       Some  backends  only  support  a sequence of well formed UTF-8 bytes as
12512       file or directory names.
12513
12514       In this case all invalid UTF-8 bytes will be  replaced  with  a  quoted
12515       representation  of  the  byte value to allow uploading a file to such a
12516       backend.  For example, the invalid byte 0xFE will be encoded as ‛FE.
12517
12518       A common source of invalid UTF-8  bytes  are  local  filesystems,  that
12519       store  names in a different encoding than UTF-8 or UTF-16, like latin1.
12520       See the local filenames  (https://rclone.org/local/#filenames)  section
12521       for details.
12522
12523   Encoding option
12524       Most  backends  have  an  encoding  option, specified as a flag --back‐
12525       end-encoding where backend is the name of the backend, or as  a  config
12526       parameter encoding (you'll need to select the Advanced config in rclone
12527       config to see it).
12528
12529       This will have default value which encodes and  decodes  characters  in
12530       such a way as to preserve the maximum number of characters (see above).
12531
12532       However  this  can  be  incorrect in some scenarios, for example if you
12533       have a Windows file system with Unicode fullwidth characters *, ?  or
12534       :,  that  you  want to remain as those characters on the remote rather
12535       than being translated to regular (halfwidth) *, ? and :.
12536
12537       The --backend-encoding flags allow you to change that.  You can disable
12538       the  encoding completely with --backend-encoding None or set encoding =
12539       None in the config file.
12540
12541       Encoding takes a comma separated list of encodings.  You  can  see  the
12542       list  of  all possible values by passing an invalid value to this flag,
12543       e.g.  --local-encoding "help".  The command rclone help flags  encoding
12544       will show you the defaults for the backends.
12545
12546       Encoding        Characters
12547       ───────────────────────────────────────────
12548       Asterisk        *
12549       BackQuote       `
12550       BackSlash       \
12551       Colon           :
12552       CrLf            CR 0x0D, LF 0x0A
12553       Ctl             All   control   characters
12554                       0x00-0x1F
12555       Del             DEL 0x7F
12556       Dollar          $
12557       Dot             . or .. as entire string
12558       DoubleQuote     "
12559       Hash            #
12560       InvalidUtf8     An invalid UTF-8 character
12561                       (e.g.  latin1)
12562       LeftCrLfHtVt    CR  0x0D, LF 0x0A,HT 0x09,
12563                       VT 0x0B on the left  of  a
12564                       string
12565       LeftPeriod      . on the left of a string
12566       LeftSpace       SPACE  on  the  left  of a
12567                       string
12568       LeftTilde       ~ on the left of a string
12569       LtGt            <, >
12570       None            No characters are encoded
12571       Percent         %
12572       Pipe            |
12573       Question        ?
12574       RightCrLfHtVt   CR 0x0D, LF 0x0A, HT 0x09,
12575                       VT  0x0B on the right of a
12576                       string
12577       RightPeriod     . on the right of a string
12578       RightSpace      SPACE on the  right  of  a
12579                       string
12580       SingleQuote     '
12581       Slash           /
12582       SquareBracket   [, ]
12583
12584   Encoding example: FTP
12585       To take a specific example, the FTP backend's default encoding is
12586
12587              --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"
12588
12589       However,  let's say the FTP server is running on Windows and can't have
12590       any of the invalid Windows characters in file names.  You  are  backing
12591       up  Linux  servers to this FTP server which do have those characters in
12592       file names.  So you would add the Windows set which are
12593
12594              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
12595
12596       to the existing ones, giving:
12597
12598              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
12599
12600       This can be specified using the --ftp-encoding flag or using an  encod‐
12601       ing parameter in the config file.
12602
12603   Encoding example: Windows
12604       As  a  nother example, take a Windows system where there is a file with
12605       name Test:1.jpg, where : is the Unicode fullwidth colon symbol.  When
12606       using  rclone  to  copy  this to a remote which supports :, the regular
12607       (halfwidth) colon (such as Google Drive), you will notice that the file
12608       gets renamed to Test:1.jpg.
12609
12610       To  avoid  this you can change the set of characters rclone should con‐
12611       vert for the local filesystem, using command-line argument  --local-en‐
12612       coding.  Rclone's default behavior on Windows corresponds to
12613
12614              --local-encoding "Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"
12615
12616       If you want to use fullwidth characters :, * and ? in your filenames
12617       without rclone changing them when uploading to a remote, then  set  the
12618       same as the default value but without Colon,Question,Asterisk:
12619
12620              --local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"
12621
12622       Alternatively,  you  can  disable the conversion of any characters with
12623       --local-encoding None.
12624
12625       Instead of using command-line argument --local-encoding, you  may  also
12626       set  it  as environment variable (https://rclone.org/docs/#environment-
12627       variables)         RCLONE_LOCAL_ENCODING,         or          configure
12628       (https://rclone.org/docs/#configure)  a  remote  of  type local in your
12629       config, and set the encoding option there.
12630
12631       The risk by doing this is that if you have a filename with the  regular
12632       (halfwidth)  :,  * and ? in your cloud storage, and you try to download
12633       it to your Windows filesystem, this will fail.   These  characters  are
12634       not valid in filenames on Windows, and you have told rclone not to work
12635       around this by converting them to valid fullwidth variants.
12636
12637   MIME Type
12638       MIME types (also known as media types) classify types of documents  us‐
12639       ing a simple text classification, e.g.  text/html or application/pdf.
12640
12641       Some cloud storage systems support reading (R) the MIME type of objects
12642       and some support writing (W) the MIME type of objects.
12643
12644       The MIME type can be important if you are  serving  files  directly  to
12645       HTTP from the storage system.
12646
12647       If you are copying from a remote which supports reading (R) to a remote
12648       which supports writing (W) then rclone will preserve  the  MIME  types.
12649       Otherwise they will be guessed from the extension, or the remote itself
12650       may assign the MIME type.
12651
12652   Optional Features
12653       All rclone remotes support a base command set.  Other  features  depend
12654       upon backend specific capabilities.
12655
12656       Name       Purge   Copy   Move   DirMove   CleanUp   ListR   StreamU‐   LinkShar‐   About   Empty‐
12657                                                                    pload      ing                 Dir
12658       ───────────────────────────────────────────────────────────────────────────────────────────────────
12659       1Fichi‐     No     Yes    Yes      No        No       No        No         Yes       No      Yes
12660       er
12661       Amazon      Yes     No    Yes      Yes       No       No        No         No        No      Yes
12662       Drive
12663       Amazon      No     Yes     No      No        Yes      Yes      Yes         Yes       No       No
12664       S3
12665       Back‐       No     Yes     No      No        Yes      Yes      Yes         Yes       No       No
12666       blaze
12667       B2
12668       Box         Yes    Yes    Yes      Yes     Yes ‡‡     No       Yes         Yes       Yes     Yes
12669       Citrix      Yes    Yes    Yes      Yes       No       No       Yes         No        No      Yes
12670       Share‐
12671       File
12672       Dropbox     Yes    Yes    Yes      Yes       No       No       Yes         Yes       Yes     Yes
12673       Enter‐      Yes    Yes    Yes      Yes       Yes      No        No         No        No      Yes
12674       prise
12675       File
12676       Fabric
12677       FTP         No      No    Yes      Yes       No       No       Yes         No        No      Yes
12678       Google      Yes    Yes     No      No        No       Yes      Yes         No        No       No
12679       Cloud
12680       Storage
12681       Google      Yes    Yes    Yes      Yes       Yes      Yes      Yes         Yes       Yes     Yes
12682       Drive
12683       Google      No      No     No      No        No       No        No         No        No       No
12684       Photos
12685       HDFS        Yes     No     No      No        No       No       Yes         No        Yes     Yes
12686       HTTP        No      No     No      No        No       No        No         No        No      Yes
12687       Hubic      Yes †   Yes     No      No        No       Yes      Yes         No        Yes      No
12688       Jotta‐      Yes    Yes    Yes      Yes       Yes      Yes       No         Yes       Yes     Yes
12689       cloud
12690       Mail.ru     Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
12691       Cloud
12692       Mega        Yes     No    Yes      Yes       Yes      No        No         Yes       Yes     Yes
12693       Memory      No     Yes     No      No        No       Yes      Yes         No        No       No
12694       Micro‐      Yes    Yes     No      No        No       Yes      Yes         No        No       No
12695       soft
12696       Azure
12697       Blob
12698       Storage
12699       Micro‐      Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
12700       soft
12701       OneDrive
12702       Open‐       Yes    Yes    Yes      Yes       No       No        No         No        No      Yes
12703       Drive
12704       Open‐      Yes †   Yes     No      No        No       Yes      Yes         No        Yes      No
12705       Stack
12706       Swift
12707       pCloud      Yes    Yes    Yes      Yes       Yes      No        No         Yes       Yes     Yes
12708
12709       premiu‐     Yes     No    Yes      Yes       No       No        No         Yes       Yes     Yes
12710       mize.me
12711       put.io      Yes     No    Yes      Yes       Yes      No       Yes         No        Yes     Yes
12712       QingStor    No     Yes     No      No        Yes      Yes       No         No        No       No
12713       Seafile     Yes    Yes    Yes      Yes       Yes      Yes      Yes         Yes       Yes     Yes
12714       SFTP        No      No    Yes      Yes       No       No       Yes         No        Yes     Yes
12715       Sug‐        Yes    Yes    Yes      Yes       No       No       Yes         Yes       No      Yes
12716       arSync
12717       Tardi‐     Yes †    No     No      No        No       Yes      Yes         No        No       No
12718       grade
12719       Uptobox     No     Yes    Yes      Yes       No       No        No         No        No       No
12720       WebDAV      Yes    Yes    Yes      Yes       No       No      Yes ‡        No        Yes     Yes
12721       Yandex      Yes    Yes    Yes      Yes       Yes      No       Yes         Yes       Yes     Yes
12722       Disk
12723       Zoho        Yes    Yes    Yes      Yes       No       No        No         No        Yes     Yes
12724       Work‐
12725       Drive
12726       The  lo‐    Yes     No    Yes      Yes       No       No       Yes         No        Yes     Yes
12727       cal
12728       filesys‐
12729       tem
12730
12731   Purge
12732       This  deletes  a  directory quicker than just deleting all the files in
12733       the directory.
12734
12735       † Note Swift, Hubic, and Tardigrade implement this in order  to  delete
12736       directory  markers but they don't actually have a quicker way of delet‐
12737       ing files other than deleting them individually.
12738
12739       ‡ StreamUpload is not supported with Nextcloud
12740
12741   Copy
12742       Used when copying an object to and from the same remote.  This known as
12743       a  server-side  copy  so you can copy a file without downloading it and
12744       uploading it again.  It is used if you use rclone copy or  rclone  move
12745       if the remote doesn't support Move directly.
12746
12747       If  the  server  doesn't support Copy directly then for copy operations
12748       the file is downloaded then re-uploaded.
12749
12750   Move
12751       Used when moving/renaming an object on the same remote.  This is  known
12752       as  a  server-side  move of a file.  This is used in rclone move if the
12753       server doesn't support DirMove.
12754
12755       If the server isn't capable of Move then rclone simulates it with  Copy
12756       then delete.  If the server doesn't support Copy then rclone will down‐
12757       load the file and re-upload it.
12758
12759   DirMove
12760       This is used to implement rclone move to move a directory if  possible.
12761       If  it  isn't  then  it will use Move on each file (which falls back to
12762       Copy then download and upload - see Move section).
12763
12764   CleanUp
12765       This is used for emptying the trash for a remote by rclone cleanup.
12766
12767       If the server can't do CleanUp then rclone cleanup will return  an  er‐
12768       ror.
12769
12770       ‡‡  Note that while Box implements this it has to delete every file in‐
12771       dividually so it will be slower than emptying the trash via the WebUI
12772
12773   ListR
12774       The remote supports a recursive list to list all the contents beneath a
12775       directory quickly.  This enables the --fast-list flag to work.  See the
12776       rclone docs (https://rclone.org/docs/#fast-list) for more details.
12777
12778   StreamUpload
12779       Some remotes allow files to be uploaded without knowing the  file  size
12780       in  advance.   This  allows certain operations to work without spooling
12781       the file to local disk first, e.g.  rclone rcat.
12782
12783   LinkSharing
12784       Sets the necessary permissions on a file or folder and  prints  a  link
12785       that  allows  others to access them, even if they don't have an account
12786       on the particular cloud provider.
12787
12788   About
12789       Rclone about prints quota information for a remote.  Typical output in‐
12790       cludes bytes used, free, quota and in trash.
12791
12792       If  a  remote lacks about capability rclone about remote:returns an er‐
12793       ror.
12794
12795       Backends without about capability cannot determine free  space  for  an
12796       rclone  mount,  or  use  policy mfs (most free space) as a member of an
12797       rclone union remote.
12798
12799       See rclone about command (https://rclone.org/commands/rclone_about/)
12800
12801   EmptyDir
12802       The   remote   supports    empty    directories.     See    Limitations
12803       (https://rclone.org/bugs/#limitations) for details.  Most Object/Bucket
12804       based remotes do not support this.
12805

Global Flags

12807       This describes the global flags available to every rclone command split
12808       into two groups, non backend and backend flags.
12809
12810   Non Backend Flags
12811       These flags are available for every command.
12812
12813                    --ask-password                         Allow prompt for password for encrypted configuration (default true)
12814                    --auto-confirm                         If enabled, do not request console confirmation
12815                    --backup-dir string                    Make backups into hierarchy based in DIR
12816                    --bind string                          Local address to bind to for outgoing connections, IPv4, IPv6 or name
12817                    --buffer-size SizeSuffix               In memory buffer size when reading files for each --transfer (default 16Mi)
12818                    --bwlimit BwTimetable                  Bandwidth limit in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
12819                    --bwlimit-file BwTimetable             Bandwidth limit per file in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
12820                    --ca-cert string                       CA certificate used to verify servers
12821                    --cache-dir string                     Directory rclone will use for caching (default "$HOME/.cache/rclone")
12822                    --check-first                          Do all the checks before starting transfers
12823                    --checkers int                         Number of checkers to run in parallel (default 8)
12824                -c, --checksum                             Skip based on checksum (if available) & size, not mod-time & size
12825                    --client-cert string                   Client SSL certificate (PEM) for mutual TLS auth
12826                    --client-key string                    Client SSL private key (PEM) for mutual TLS auth
12827                    --compare-dest stringArray             Include additional comma separated server-side paths during comparison
12828                    --config string                        Config file (default "$HOME/.config/rclone/rclone.conf")
12829                    --contimeout duration                  Connect timeout (default 1m0s)
12830                    --copy-dest stringArray                Implies --compare-dest but also copies files from paths into destination
12831                    --cpuprofile string                    Write cpu profile to file
12832                    --cutoff-mode string                   Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default "HARD")
12833                    --delete-after                         When synchronizing, delete files on destination after transferring (default)
12834                    --delete-before                        When synchronizing, delete files on destination before transferring
12835                    --delete-during                        When synchronizing, delete files during transfer
12836                    --delete-excluded                      Delete files on dest excluded from sync
12837                    --disable string                       Disable a comma separated list of features (use --disable help to see a list)
12838                    --disable-http2                        Disable HTTP/2 in the global transport
12839                -n, --dry-run                              Do a trial run with no permanent changes
12840                    --dscp string                          Set DSCP value to connections, value or name, e.g. CS1, LE, DF, AF21
12841                    --dump DumpFlags                       List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles
12842                    --dump-bodies                          Dump HTTP headers and bodies - may contain sensitive info
12843                    --dump-headers                         Dump HTTP headers - may contain sensitive info
12844                    --error-on-no-transfer                 Sets exit code 9 if no files are transferred, useful in scripts
12845                    --exclude stringArray                  Exclude files matching pattern
12846                    --exclude-from stringArray             Read exclude patterns from file (use - to read from stdin)
12847                    --exclude-if-present string            Exclude directories if filename is present
12848                    --expect-continue-timeout duration     Timeout when using expect / 100-continue in HTTP (default 1s)
12849                    --fast-list                            Use recursive list if available; uses more memory but fewer transactions
12850                    --files-from stringArray               Read list of source-file names from file (use - to read from stdin)
12851                    --files-from-raw stringArray           Read list of source-file names from file without any processing of lines (use - to read from stdin)
12852                -f, --filter stringArray                   Add a file-filtering rule
12853                    --filter-from stringArray              Read filtering patterns from a file (use - to read from stdin)
12854                    --fs-cache-expire-duration duration    Cache remotes for this long (0 to disable caching) (default 5m0s)
12855                    --fs-cache-expire-interval duration    Interval to check for expired remotes (default 1m0s)
12856                    --header stringArray                   Set HTTP header for all transactions
12857                    --header-download stringArray          Set HTTP header for download transactions
12858                    --header-upload stringArray            Set HTTP header for upload transactions
12859                    --human-readable                       Print numbers in a human-readable format, sizes with suffix Ki|Mi|Gi|Ti|Pi
12860                    --ignore-case                          Ignore case in filters (case insensitive)
12861                    --ignore-case-sync                     Ignore case when synchronizing
12862                    --ignore-checksum                      Skip post copy check of checksums
12863                    --ignore-errors                        Delete even if there are I/O errors
12864                    --ignore-existing                      Skip all files that exist on destination
12865                    --ignore-size                          Ignore size when skipping use mod-time or checksum
12866                -I, --ignore-times                         Don't skip files that match size and time - transfer all files
12867                    --immutable                            Do not modify files, fail if existing files have been modified
12868                    --include stringArray                  Include files matching pattern
12869                    --include-from stringArray             Read include patterns from file (use - to read from stdin)
12870                -i, --interactive                          Enable interactive mode
12871                    --kv-lock-time duration                Maximum time to keep key-value database locked by process (default 1s)
12872                    --log-file string                      Log everything to this file
12873                    --log-format string                    Comma separated list of log format options (default "date,time")
12874                    --log-level string                     Log level DEBUG|INFO|NOTICE|ERROR (default "NOTICE")
12875                    --log-systemd                          Activate systemd integration for the logger
12876                    --low-level-retries int                Number of low level retries to do (default 10)
12877                    --max-age Duration                     Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
12878                    --max-backlog int                      Maximum number of objects in sync or check backlog (default 10000)
12879                    --max-delete int                       When synchronizing, limit the number of deletes (default -1)
12880                    --max-depth int                        If set limits the recursion depth to this (default -1)
12881                    --max-duration duration                Maximum duration rclone will transfer data for
12882                    --max-size SizeSuffix                  Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
12883                    --max-stats-groups int                 Maximum number of stats groups to keep in memory, on max oldest is discarded (default 1000)
12884                    --max-transfer SizeSuffix              Maximum size of data to transfer (default off)
12885                    --memprofile string                    Write memory profile to file
12886                    --min-age Duration                     Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
12887                    --min-size SizeSuffix                  Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
12888                    --modify-window duration               Max time diff to be considered the same (default 1ns)
12889                    --multi-thread-cutoff SizeSuffix       Use multi-thread downloads for files above this size (default 250Mi)
12890                    --multi-thread-streams int             Max number of streams to use for multi-thread downloads (default 4)
12891                    --no-check-certificate                 Do not verify the server SSL certificate (insecure)
12892                    --no-check-dest                        Don't check the destination, copy regardless
12893                    --no-console                           Hide console window (supported on Windows only)
12894                    --no-gzip-encoding                     Don't set Accept-Encoding: gzip
12895                    --no-traverse                          Don't traverse destination file system on copy
12896                    --no-unicode-normalization             Don't normalize unicode characters in filenames
12897                    --no-update-modtime                    Don't update destination mod-time if files identical
12898                    --order-by string                      Instructions on how to order the transfers, e.g. 'size,descending'
12899                    --password-command SpaceSepList        Command for supplying password for encrypted configuration
12900                -P, --progress                             Show progress during transfer
12901                    --progress-terminal-title              Show progress on the terminal title (requires -P/--progress)
12902                -q, --quiet                                Print as little stuff as possible
12903                    --rc                                   Enable the remote control server
12904                    --rc-addr string                       IPaddress:Port or :Port to bind server to (default "localhost:5572")
12905                    --rc-allow-origin string               Set the allowed origin for CORS
12906                    --rc-baseurl string                    Prefix for URLs - leave blank for root
12907                    --rc-cert string                       SSL PEM key (concatenation of certificate and CA certificate)
12908                    --rc-client-ca string                  Client certificate authority to verify clients with
12909                    --rc-enable-metrics                    Enable prometheus metrics on /metrics
12910                    --rc-files string                      Path to local files to serve on the HTTP server
12911                    --rc-htpasswd string                   htpasswd file - if not provided no authentication is done
12912                    --rc-job-expire-duration duration      expire finished async jobs older than this value (default 1m0s)
12913                    --rc-job-expire-interval duration      interval to check for expired async jobs (default 10s)
12914                    --rc-key string                        SSL PEM Private key
12915                    --rc-max-header-bytes int              Maximum size of request header (default 4096)
12916                    --rc-no-auth                           Don't require auth for certain methods
12917                    --rc-pass string                       Password for authentication
12918                    --rc-realm string                      realm for authentication (default "rclone")
12919                    --rc-serve                             Enable the serving of remote objects
12920                    --rc-server-read-timeout duration      Timeout for server reading data (default 1h0m0s)
12921                    --rc-server-write-timeout duration     Timeout for server writing data (default 1h0m0s)
12922                    --rc-template string                   User-specified template
12923                    --rc-user string                       User name for authentication
12924                    --rc-web-fetch-url string              URL to fetch the releases for webgui (default "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest")
12925                    --rc-web-gui                           Launch WebGUI on localhost
12926                    --rc-web-gui-force-update              Force update to latest version of web gui
12927                    --rc-web-gui-no-open-browser           Don't open the browser automatically
12928                    --rc-web-gui-update                    Check and update to latest version of web gui
12929                    --refresh-times                        Refresh the modtime of remote files
12930                    --retries int                          Retry operations this many times if they fail (default 3)
12931                    --retries-sleep duration               Interval between retrying operations if they fail, e.g. 500ms, 60s, 5m (0 to disable)
12932                    --size-only                            Skip based on size only, not mod-time or checksum
12933                    --stats duration                       Interval between printing stats, e.g. 500ms, 60s, 5m (0 to disable) (default 1m0s)
12934                    --stats-file-name-length int           Max file name length in stats (0 for no limit) (default 45)
12935                    --stats-log-level string               Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default "INFO")
12936                    --stats-one-line                       Make the stats fit on one line
12937                    --stats-one-line-date                  Enable --stats-one-line and add current date/time prefix
12938                    --stats-one-line-date-format string    Enable --stats-one-line-date and use custom formatted date: Enclose date string in double quotes ("), see https://golang.org/pkg/time/#Time.Format
12939                    --stats-unit string                    Show data rate in stats as either 'bits' or 'bytes' per second (default "bytes")
12940                    --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 100Ki)
12941                    --suffix string                        Suffix to add to changed files
12942                    --suffix-keep-extension                Preserve the extension when using --suffix
12943                    --syslog                               Use Syslog for logging
12944                    --syslog-facility string               Facility for syslog, e.g. KERN,USER,... (default "DAEMON")
12945                    --temp-dir string                      Directory rclone will use for temporary files (default "/tmp")
12946                    --timeout duration                     IO idle timeout (default 5m0s)
12947                    --tpslimit float                       Limit HTTP transactions per second to this
12948                    --tpslimit-burst int                   Max burst of transactions for --tpslimit (default 1)
12949                    --track-renames                        When synchronizing, track file renames and do a server-side move if possible
12950                    --track-renames-strategy string        Strategies to use when synchronizing using track-renames hash|modtime|leaf (default "hash")
12951                    --transfers int                        Number of file transfers to run in parallel (default 4)
12952                -u, --update                               Skip files that are newer on the destination
12953                    --use-cookies                          Enable session cookiejar
12954                    --use-json-log                         Use json log format
12955                    --use-mmap                             Use mmap allocator (see docs)
12956                    --use-server-modtime                   Use server modified time instead of object metadata
12957                    --user-agent string                    Set the user-agent to a specified string (default "rclone/v1.57.0")
12958                -v, --verbose count                        Print lots more stuff (repeat for more)
12959
12960   Backend Flags
12961       These flags are available for every command.  They control the backends
12962       and may be set in the config file.
12963
12964                    --acd-auth-url string                          Auth server URL
12965                    --acd-client-id string                         OAuth Client Id
12966                    --acd-client-secret string                     OAuth Client Secret
12967                    --acd-encoding MultiEncoder                    This sets the encoding for the backend (default Slash,InvalidUtf8,Dot)
12968                    --acd-templink-threshold SizeSuffix            Files >= this size will be downloaded via their tempLink (default 9Gi)
12969                    --acd-token string                             OAuth Access Token as a JSON blob
12970                    --acd-token-url string                         Token server url
12971                    --acd-upload-wait-per-gb Duration              Additional time per GiB to wait after a failed complete upload to see if it appears (default 3m0s)
12972                    --alias-remote string                          Remote or path to alias
12973                    --azureblob-access-tier string                 Access tier of blob: hot, cool or archive
12974                    --azureblob-account string                     Storage Account Name
12975                    --azureblob-archive-tier-delete                Delete archive tier blobs before overwriting
12976                    --azureblob-chunk-size SizeSuffix              Upload chunk size (<= 100 MiB) (default 4Mi)
12977                    --azureblob-disable-checksum                   Don't store MD5 checksum with object metadata
12978                    --azureblob-encoding MultiEncoder              This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
12979                    --azureblob-endpoint string                    Endpoint for the service
12980                    --azureblob-key string                         Storage Account Key
12981                    --azureblob-list-chunk int                     Size of blob list (default 5000)
12982                    --azureblob-memory-pool-flush-time Duration    How often internal memory buffer pools will be flushed (default 1m0s)
12983                    --azureblob-memory-pool-use-mmap               Whether to use mmap buffers in internal memory pool
12984                    --azureblob-msi-client-id string               Object ID of the user-assigned MSI to use, if any
12985                    --azureblob-msi-mi-res-id string               Azure resource ID of the user-assigned MSI to use, if any
12986                    --azureblob-msi-object-id string               Object ID of the user-assigned MSI to use, if any
12987                    --azureblob-no-head-object                     If set, do not do HEAD before GET when getting objects
12988                    --azureblob-public-access string               Public access level of a container: blob or container
12989                    --azureblob-sas-url string                     SAS URL for container level access only
12990                    --azureblob-service-principal-file string      Path to file containing credentials for use with a service principal
12991                    --azureblob-upload-cutoff string               Cutoff for switching to chunked upload (<= 256 MiB) (deprecated)
12992                    --azureblob-use-emulator                       Uses local storage emulator if provided as 'true'
12993                    --azureblob-use-msi                            Use a managed service identity to authenticate (only works in Azure)
12994                    --b2-account string                            Account ID or Application Key ID
12995                    --b2-chunk-size SizeSuffix                     Upload chunk size (default 96Mi)
12996                    --b2-copy-cutoff SizeSuffix                    Cutoff for switching to multipart copy (default 4Gi)
12997                    --b2-disable-checksum                          Disable checksums for large (> upload cutoff) files
12998                    --b2-download-auth-duration Duration           Time before the authorization token will expire in s or suffix ms|s|m|h|d (default 1w)
12999                    --b2-download-url string                       Custom endpoint for downloads
13000                    --b2-encoding MultiEncoder                     This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13001                    --b2-endpoint string                           Endpoint for the service
13002                    --b2-hard-delete                               Permanently delete files on remote removal, otherwise hide files
13003                    --b2-key string                                Application Key
13004                    --b2-memory-pool-flush-time Duration           How often internal memory buffer pools will be flushed (default 1m0s)
13005                    --b2-memory-pool-use-mmap                      Whether to use mmap buffers in internal memory pool
13006                    --b2-test-mode string                          A flag string for X-Bz-Test-Mode header for debugging
13007                    --b2-upload-cutoff SizeSuffix                  Cutoff for switching to chunked upload (default 200Mi)
13008                    --b2-versions                                  Include old versions in directory listings
13009                    --box-access-token string                      Box App Primary Access Token
13010                    --box-auth-url string                          Auth server URL
13011                    --box-box-config-file string                   Box App config.json location
13012                    --box-box-sub-type string                       (default "user")
13013                    --box-client-id string                         OAuth Client Id
13014                    --box-client-secret string                     OAuth Client Secret
13015                    --box-commit-retries int                       Max number of times to try committing a multipart file (default 100)
13016                    --box-encoding MultiEncoder                    This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
13017                    --box-list-chunk int                           Size of listing chunk 1-1000 (default 1000)
13018                    --box-owned-by string                          Only show items owned by the login (email address) passed in
13019                    --box-root-folder-id string                    Fill in for rclone to use a non root folder as its starting point
13020                    --box-token string                             OAuth Access Token as a JSON blob
13021                    --box-token-url string                         Token server url
13022                    --box-upload-cutoff SizeSuffix                 Cutoff for switching to multipart upload (>= 50 MiB) (default 50Mi)
13023                    --cache-chunk-clean-interval Duration          How often should the cache perform cleanups of the chunk storage (default 1m0s)
13024                    --cache-chunk-no-memory                        Disable the in-memory cache for storing chunks during streaming
13025                    --cache-chunk-path string                      Directory to cache chunk files (default "$HOME/.cache/rclone/cache-backend")
13026                    --cache-chunk-size SizeSuffix                  The size of a chunk (partial file data) (default 5Mi)
13027                    --cache-chunk-total-size SizeSuffix            The total size that the chunks can take up on the local disk (default 10Gi)
13028                    --cache-db-path string                         Directory to store file structure metadata DB (default "$HOME/.cache/rclone/cache-backend")
13029                    --cache-db-purge                               Clear all the cached data for this remote on start
13030                    --cache-db-wait-time Duration                  How long to wait for the DB to be available - 0 is unlimited (default 1s)
13031                    --cache-info-age Duration                      How long to cache file structure information (directory listings, file size, times, etc.) (default 6h0m0s)
13032                    --cache-plex-insecure string                   Skip all certificate verification when connecting to the Plex server
13033                    --cache-plex-password string                   The password of the Plex user (obscured)
13034                    --cache-plex-url string                        The URL of the Plex server
13035                    --cache-plex-username string                   The username of the Plex user
13036                    --cache-read-retries int                       How many times to retry a read from a cache storage (default 10)
13037                    --cache-remote string                          Remote to cache
13038                    --cache-rps int                                Limits the number of requests per second to the source FS (-1 to disable) (default -1)
13039                    --cache-tmp-upload-path string                 Directory to keep temporary files until they are uploaded
13040                    --cache-tmp-wait-time Duration                 How long should files be stored in local cache before being uploaded (default 15s)
13041                    --cache-workers int                            How many workers should run in parallel to download chunks (default 4)
13042                    --cache-writes                                 Cache file data on writes through the FS
13043                    --chunker-chunk-size SizeSuffix                Files larger than chunk size will be split in chunks (default 2Gi)
13044                    --chunker-fail-hard                            Choose how chunker should handle files with missing or invalid chunks
13045                    --chunker-hash-type string                     Choose how chunker handles hash sums (default "md5")
13046                    --chunker-remote string                        Remote to chunk/unchunk
13047                    --compress-level int                           GZIP compression level (-2 to 9) (default -1)
13048                    --compress-mode string                         Compression mode (default "gzip")
13049                    --compress-ram-cache-limit SizeSuffix          Some remotes don't allow the upload of files with unknown size (default 20Mi)
13050                    --compress-remote string                       Remote to compress
13051                -L, --copy-links                                   Follow symlinks and copy the pointed to item
13052                    --crypt-directory-name-encryption              Option to either encrypt directory names or leave them intact (default true)
13053                    --crypt-filename-encryption string             How to encrypt the filenames (default "standard")
13054                    --crypt-no-data-encryption                     Option to either encrypt file data or leave it unencrypted
13055                    --crypt-password string                        Password or pass phrase for encryption (obscured)
13056                    --crypt-password2 string                       Password or pass phrase for salt (obscured)
13057                    --crypt-remote string                          Remote to encrypt/decrypt
13058                    --crypt-server-side-across-configs             Allow server-side operations (e.g. copy) to work across different crypt configs
13059                    --crypt-show-mapping                           For all files listed show how the names encrypt
13060                    --drive-acknowledge-abuse                      Set to allow files which return cannotDownloadAbusiveFile to be downloaded
13061                    --drive-allow-import-name-change               Allow the filetype to change when uploading Google docs
13062                    --drive-auth-owner-only                        Only consider files owned by the authenticated user
13063                    --drive-auth-url string                        Auth server URL
13064                    --drive-chunk-size SizeSuffix                  Upload chunk size (default 8Mi)
13065                    --drive-client-id string                       Google Application Client Id
13066                    --drive-client-secret string                   OAuth Client Secret
13067                    --drive-disable-http2                          Disable drive using http2 (default true)
13068                    --drive-encoding MultiEncoder                  This sets the encoding for the backend (default InvalidUtf8)
13069                    --drive-export-formats string                  Comma separated list of preferred formats for downloading Google docs (default "docx,xlsx,pptx,svg")
13070                    --drive-formats string                         Deprecated: See export_formats
13071                    --drive-impersonate string                     Impersonate this user when using a service account
13072                    --drive-import-formats string                  Comma separated list of preferred formats for uploading Google docs
13073                    --drive-keep-revision-forever                  Keep new head revision of each file forever
13074                    --drive-list-chunk int                         Size of listing chunk 100-1000, 0 to disable (default 1000)
13075                    --drive-pacer-burst int                        Number of API calls to allow without sleeping (default 100)
13076                    --drive-pacer-min-sleep Duration               Minimum time to sleep between API calls (default 100ms)
13077                    --drive-root-folder-id string                  ID of the root folder
13078                    --drive-scope string                           Scope that rclone should use when requesting access from drive
13079                    --drive-server-side-across-configs             Allow server-side operations (e.g. copy) to work across different drive configs
13080                    --drive-service-account-credentials string     Service Account Credentials JSON blob
13081                    --drive-service-account-file string            Service Account Credentials JSON file path
13082                    --drive-shared-with-me                         Only show files that are shared with me
13083                    --drive-size-as-quota                          Show sizes as storage quota usage, not actual size
13084                    --drive-skip-checksum-gphotos                  Skip MD5 checksum on Google photos and videos only
13085                    --drive-skip-gdocs                             Skip google documents in all listings
13086                    --drive-skip-shortcuts                         If set skip shortcut files
13087                    --drive-starred-only                           Only show files that are starred
13088                    --drive-stop-on-download-limit                 Make download limit errors be fatal
13089                    --drive-stop-on-upload-limit                   Make upload limit errors be fatal
13090                    --drive-team-drive string                      ID of the Shared Drive (Team Drive)
13091                    --drive-token string                           OAuth Access Token as a JSON blob
13092                    --drive-token-url string                       Token server url
13093                    --drive-trashed-only                           Only show files that are in the trash
13094                    --drive-upload-cutoff SizeSuffix               Cutoff for switching to chunked upload (default 8Mi)
13095                    --drive-use-created-date                       Use file created date instead of modified date
13096                    --drive-use-shared-date                        Use date file was shared instead of modified date
13097                    --drive-use-trash                              Send files to the trash instead of deleting permanently (default true)
13098                    --drive-v2-download-min-size SizeSuffix        If Object's are greater, use drive v2 API to download (default off)
13099                    --dropbox-auth-url string                      Auth server URL
13100                    --dropbox-batch-commit-timeout Duration        Max time to wait for a batch to finish comitting (default 10m0s)
13101                    --dropbox-batch-mode string                    Upload file batching sync|async|off (default "sync")
13102                    --dropbox-batch-size int                       Max number of files in upload batch
13103                    --dropbox-batch-timeout Duration               Max time to allow an idle upload batch before uploading (default 0s)
13104                    --dropbox-chunk-size SizeSuffix                Upload chunk size (< 150Mi) (default 48Mi)
13105                    --dropbox-client-id string                     OAuth Client Id
13106                    --dropbox-client-secret string                 OAuth Client Secret
13107                    --dropbox-encoding MultiEncoder                This sets the encoding for the backend (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
13108                    --dropbox-impersonate string                   Impersonate this user when using a business account
13109                    --dropbox-shared-files                         Instructs rclone to work on individual shared files
13110                    --dropbox-shared-folders                       Instructs rclone to work on shared folders
13111                    --dropbox-token string                         OAuth Access Token as a JSON blob
13112                    --dropbox-token-url string                     Token server url
13113                    --fichier-api-key string                       Your API Key, get it from https://1fichier.com/console/params.pl
13114                    --fichier-encoding MultiEncoder                This sets the encoding for the backend (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
13115                    --fichier-file-password string                 If you want to download a shared file that is password protected, add this parameter (obscured)
13116                    --fichier-folder-password string               If you want to list the files in a shared folder that is password protected, add this parameter (obscured)
13117                    --fichier-shared-folder string                 If you want to download a shared folder, add this parameter
13118                    --filefabric-encoding MultiEncoder             This sets the encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
13119                    --filefabric-permanent-token string            Permanent Authentication Token
13120                    --filefabric-root-folder-id string             ID of the root folder
13121                    --filefabric-token string                      Session Token
13122                    --filefabric-token-expiry string               Token expiry time
13123                    --filefabric-url string                        URL of the Enterprise File Fabric to connect to
13124                    --filefabric-version string                    Version read from the file fabric
13125                    --ftp-close-timeout Duration                   Maximum time to wait for a response to close (default 1m0s)
13126                    --ftp-concurrency int                          Maximum number of FTP simultaneous connections, 0 for unlimited
13127                    --ftp-disable-epsv                             Disable using EPSV even if server advertises support
13128                    --ftp-disable-mlsd                             Disable using MLSD even if server advertises support
13129                    --ftp-disable-tls13                            Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
13130                    --ftp-encoding MultiEncoder                    This sets the encoding for the backend (default Slash,Del,Ctl,RightSpace,Dot)
13131                    --ftp-explicit-tls                             Use Explicit FTPS (FTP over TLS)
13132                    --ftp-host string                              FTP host to connect to
13133                    --ftp-idle-timeout Duration                    Max time before closing idle connections (default 1m0s)
13134                    --ftp-no-check-certificate                     Do not verify the TLS certificate of the server
13135                    --ftp-pass string                              FTP password (obscured)
13136                    --ftp-port string                              FTP port, leave blank to use default (21)
13137                    --ftp-shut-timeout Duration                    Maximum time to wait for data connection closing status (default 1m0s)
13138                    --ftp-tls                                      Use Implicit FTPS (FTP over TLS)
13139                    --ftp-tls-cache-size int                       Size of TLS session cache for all control and data connections (default 32)
13140                    --ftp-user string                              FTP username, leave blank for current username, $USER
13141                    --ftp-writing-mdtm                             Use MDTM to set modification time (VsFtpd quirk)
13142                    --gcs-anonymous                                Access public buckets and objects without credentials
13143                    --gcs-auth-url string                          Auth server URL
13144                    --gcs-bucket-acl string                        Access Control List for new buckets
13145                    --gcs-bucket-policy-only                       Access checks should use bucket-level IAM policies
13146                    --gcs-client-id string                         OAuth Client Id
13147                    --gcs-client-secret string                     OAuth Client Secret
13148                    --gcs-encoding MultiEncoder                    This sets the encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
13149                    --gcs-location string                          Location for the newly created buckets
13150                    --gcs-object-acl string                        Access Control List for new objects
13151                    --gcs-project-number string                    Project number
13152                    --gcs-service-account-file string              Service Account Credentials JSON file path
13153                    --gcs-storage-class string                     The storage class to use when storing objects in Google Cloud Storage
13154                    --gcs-token string                             OAuth Access Token as a JSON blob
13155                    --gcs-token-url string                         Token server url
13156                    --gphotos-auth-url string                      Auth server URL
13157                    --gphotos-client-id string                     OAuth Client Id
13158                    --gphotos-client-secret string                 OAuth Client Secret
13159                    --gphotos-encoding MultiEncoder                This sets the encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
13160                    --gphotos-include-archived                     Also view and download archived media
13161                    --gphotos-read-only                            Set to make the Google Photos backend read only
13162                    --gphotos-read-size                            Set to read the size of media items
13163                    --gphotos-start-year int                       Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000)
13164                    --gphotos-token string                         OAuth Access Token as a JSON blob
13165                    --gphotos-token-url string                     Token server url
13166                    --hasher-auto-size SizeSuffix                  Auto-update checksum for files smaller than this size (disabled by default)
13167                    --hasher-hashes CommaSepList                   Comma separated list of supported checksum types (default md5,sha1)
13168                    --hasher-max-age Duration                      Maximum time to keep checksums in cache (0 = no cache, off = cache forever) (default off)
13169                    --hasher-remote string                         Remote to cache checksums for (e.g. myRemote:path)
13170                    --hdfs-data-transfer-protection string         Kerberos data transfer protection: authentication|integrity|privacy
13171                    --hdfs-encoding MultiEncoder                   This sets the encoding for the backend (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot)
13172                    --hdfs-namenode string                         Hadoop name node and port
13173                    --hdfs-service-principal-name string           Kerberos service principal name for the namenode
13174                    --hdfs-username string                         Hadoop user name
13175                    --http-headers CommaSepList                    Set HTTP headers for all transactions
13176                    --http-no-head                                 Don't use HEAD requests to find file sizes in dir listing
13177                    --http-no-slash                                Set this if the site doesn't end directories with /
13178                    --http-url string                              URL of http host to connect to
13179                    --hubic-auth-url string                        Auth server URL
13180                    --hubic-chunk-size SizeSuffix                  Above this size files will be chunked into a _segments container (default 5Gi)
13181                    --hubic-client-id string                       OAuth Client Id
13182                    --hubic-client-secret string                   OAuth Client Secret
13183                    --hubic-encoding MultiEncoder                  This sets the encoding for the backend (default Slash,InvalidUtf8)
13184                    --hubic-no-chunk                               Don't chunk files during streaming upload
13185                    --hubic-token string                           OAuth Access Token as a JSON blob
13186                    --hubic-token-url string                       Token server url
13187                    --jottacloud-encoding MultiEncoder             This sets the encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
13188                    --jottacloud-hard-delete                       Delete files permanently rather than putting them into the trash
13189                    --jottacloud-md5-memory-limit SizeSuffix       Files bigger than this will be cached on disk to calculate the MD5 if required (default 10Mi)
13190                    --jottacloud-no-versions                       Avoid server side versioning by deleting files and recreating files instead of overwriting them
13191                    --jottacloud-trashed-only                      Only show files that are in the trash
13192                    --jottacloud-upload-resume-limit SizeSuffix    Files bigger than this can be resumed if the upload fail's (default 10Mi)
13193                    --koofr-encoding MultiEncoder                  This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13194                    --koofr-endpoint string                        The Koofr API endpoint to use (default "https://app.koofr.net")
13195                    --koofr-mountid string                         Mount ID of the mount to use
13196                    --koofr-password string                        Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
13197                    --koofr-setmtime                               Does the backend support setting modification time (default true)
13198                    --koofr-user string                            Your Koofr user name
13199                -l, --links                                        Translate symlinks to/from regular files with a '.rclonelink' extension
13200                    --local-case-insensitive                       Force the filesystem to report itself as case insensitive
13201                    --local-case-sensitive                         Force the filesystem to report itself as case sensitive
13202                    --local-encoding MultiEncoder                  This sets the encoding for the backend (default Slash,Dot)
13203                    --local-no-check-updated                       Don't check to see if the files change during upload
13204                    --local-no-preallocate                         Disable preallocation of disk space for transferred files
13205                    --local-no-set-modtime                         Disable setting modtime
13206                    --local-no-sparse                              Disable sparse files for multi-thread downloads
13207                    --local-nounc string                           Disable UNC (long path names) conversion on Windows
13208                    --local-unicode-normalization                  Apply unicode NFC normalization to paths and filenames
13209                    --local-zero-size-links                        Assume the Stat size of links is zero (and read them instead) (deprecated)
13210                    --mailru-check-hash                            What should copy do if file checksum is mismatched or invalid (default true)
13211                    --mailru-encoding MultiEncoder                 This sets the encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13212                    --mailru-pass string                           Password (obscured)
13213                    --mailru-speedup-enable                        Skip full upload if there is another file with same data hash (default true)
13214                    --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")
13215                    --mailru-speedup-max-disk SizeSuffix           This option allows you to disable speedup (put by hash) for large files (default 3Gi)
13216                    --mailru-speedup-max-memory SizeSuffix         Files larger than the size given below will always be hashed on disk (default 32Mi)
13217                    --mailru-user string                           User name (usually email)
13218                    --mega-debug                                   Output more debug from Mega
13219                    --mega-encoding MultiEncoder                   This sets the encoding for the backend (default Slash,InvalidUtf8,Dot)
13220                    --mega-hard-delete                             Delete files permanently rather than putting them into the trash
13221                    --mega-pass string                             Password (obscured)
13222                    --mega-user string                             User name
13223                -x, --one-file-system                              Don't cross filesystem boundaries (unix/macOS only)
13224                    --onedrive-auth-url string                     Auth server URL
13225                    --onedrive-chunk-size SizeSuffix               Chunk size to upload files with - must be multiple of 320k (327,680 bytes) (default 10Mi)
13226                    --onedrive-client-id string                    OAuth Client Id
13227                    --onedrive-client-secret string                OAuth Client Secret
13228                    --onedrive-drive-id string                     The ID of the drive to use
13229                    --onedrive-drive-type string                   The type of the drive (personal | business | documentLibrary)
13230                    --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)
13231                    --onedrive-expose-onenote-files                Set to make OneNote files show up in directory listings
13232                    --onedrive-link-password string                Set the password for links created by the link command
13233                    --onedrive-link-scope string                   Set the scope of the links created by the link command (default "anonymous")
13234                    --onedrive-link-type string                    Set the type of the links created by the link command (default "view")
13235                    --onedrive-list-chunk int                      Size of listing chunk (default 1000)
13236                    --onedrive-no-versions                         Remove all versions on modifying operations
13237                    --onedrive-region string                       Choose national cloud region for OneDrive (default "global")
13238                    --onedrive-server-side-across-configs          Allow server-side operations (e.g. copy) to work across different onedrive configs
13239                    --onedrive-token string                        OAuth Access Token as a JSON blob
13240                    --onedrive-token-url string                    Token server url
13241                    --opendrive-chunk-size SizeSuffix              Files will be uploaded in chunks this size (default 10Mi)
13242                    --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)
13243                    --opendrive-password string                    Password (obscured)
13244                    --opendrive-username string                    Username
13245                    --pcloud-auth-url string                       Auth server URL
13246                    --pcloud-client-id string                      OAuth Client Id
13247                    --pcloud-client-secret string                  OAuth Client Secret
13248                    --pcloud-encoding MultiEncoder                 This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13249                    --pcloud-hostname string                       Hostname to connect to (default "api.pcloud.com")
13250                    --pcloud-root-folder-id string                 Fill in for rclone to use a non root folder as its starting point (default "d0")
13251                    --pcloud-token string                          OAuth Access Token as a JSON blob
13252                    --pcloud-token-url string                      Token server url
13253                    --premiumizeme-encoding MultiEncoder           This sets the encoding for the backend (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13254                    --putio-encoding MultiEncoder                  This sets the encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
13255                    --qingstor-access-key-id string                QingStor Access Key ID
13256                    --qingstor-chunk-size SizeSuffix               Chunk size to use for uploading (default 4Mi)
13257                    --qingstor-connection-retries int              Number of connection retries (default 3)
13258                    --qingstor-encoding MultiEncoder               This sets the encoding for the backend (default Slash,Ctl,InvalidUtf8)
13259                    --qingstor-endpoint string                     Enter an endpoint URL to connection QingStor API
13260                    --qingstor-env-auth                            Get QingStor credentials from runtime
13261                    --qingstor-secret-access-key string            QingStor Secret Access Key (password)
13262                    --qingstor-upload-concurrency int              Concurrency for multipart uploads (default 1)
13263                    --qingstor-upload-cutoff SizeSuffix            Cutoff for switching to chunked upload (default 200Mi)
13264                    --qingstor-zone string                         Zone to connect to
13265                    --s3-access-key-id string                      AWS Access Key ID
13266                    --s3-acl string                                Canned ACL used when creating buckets and storing or copying objects
13267                    --s3-bucket-acl string                         Canned ACL used when creating buckets
13268                    --s3-chunk-size SizeSuffix                     Chunk size to use for uploading (default 5Mi)
13269                    --s3-copy-cutoff SizeSuffix                    Cutoff for switching to multipart copy (default 4.656Gi)
13270                    --s3-disable-checksum                          Don't store MD5 checksum with object metadata
13271                    --s3-disable-http2                             Disable usage of http2 for S3 backends
13272                    --s3-download-url string                       Custom endpoint for downloads
13273                    --s3-encoding MultiEncoder                     This sets the encoding for the backend (default Slash,InvalidUtf8,Dot)
13274                    --s3-endpoint string                           Endpoint for S3 API
13275                    --s3-env-auth                                  Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars)
13276                    --s3-force-path-style                          If true use path style access if false use virtual hosted style (default true)
13277                    --s3-leave-parts-on-error                      If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery
13278                    --s3-list-chunk int                            Size of listing chunk (response list for each ListObject S3 request) (default 1000)
13279                    --s3-location-constraint string                Location constraint - must be set to match the Region
13280                    --s3-max-upload-parts int                      Maximum number of parts in a multipart upload (default 10000)
13281                    --s3-memory-pool-flush-time Duration           How often internal memory buffer pools will be flushed (default 1m0s)
13282                    --s3-memory-pool-use-mmap                      Whether to use mmap buffers in internal memory pool
13283                    --s3-no-check-bucket                           If set, don't attempt to check the bucket exists or create it
13284                    --s3-no-head                                   If set, don't HEAD uploaded objects to check integrity
13285                    --s3-no-head-object                            If set, do not do HEAD before GET when getting objects
13286                    --s3-profile string                            Profile to use in the shared credentials file
13287                    --s3-provider string                           Choose your S3 provider
13288                    --s3-region string                             Region to connect to
13289                    --s3-requester-pays                            Enables requester pays option when interacting with S3 bucket
13290                    --s3-secret-access-key string                  AWS Secret Access Key (password)
13291                    --s3-server-side-encryption string             The server-side encryption algorithm used when storing this object in S3
13292                    --s3-session-token string                      An AWS session token
13293                    --s3-shared-credentials-file string            Path to the shared credentials file
13294                    --s3-sse-customer-algorithm string             If using SSE-C, the server-side encryption algorithm used when storing this object in S3
13295                    --s3-sse-customer-key string                   If using SSE-C you must provide the secret encryption key used to encrypt/decrypt your data
13296                    --s3-sse-customer-key-md5 string               If using SSE-C you may provide the secret encryption key MD5 checksum (optional)
13297                    --s3-sse-kms-key-id string                     If using KMS ID you must provide the ARN of Key
13298                    --s3-storage-class string                      The storage class to use when storing new objects in S3
13299                    --s3-upload-concurrency int                    Concurrency for multipart uploads (default 4)
13300                    --s3-upload-cutoff SizeSuffix                  Cutoff for switching to chunked upload (default 200Mi)
13301                    --s3-use-accelerate-endpoint                   If true use the AWS S3 accelerated endpoint
13302                    --s3-v2-auth                                   If true use v2 authentication
13303                    --seafile-2fa                                  Two-factor authentication ('true' if the account has 2FA enabled)
13304                    --seafile-create-library                       Should rclone create a library if it doesn't exist
13305                    --seafile-encoding MultiEncoder                This sets the encoding for the backend (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
13306                    --seafile-library string                       Name of the library
13307                    --seafile-library-key string                   Library password (for encrypted libraries only) (obscured)
13308                    --seafile-pass string                          Password (obscured)
13309                    --seafile-url string                           URL of seafile host to connect to
13310                    --seafile-user string                          User name (usually email address)
13311                    --sftp-ask-password                            Allow asking for SFTP password when needed
13312                    --sftp-disable-concurrent-reads                If set don't use concurrent reads
13313                    --sftp-disable-concurrent-writes               If set don't use concurrent writes
13314                    --sftp-disable-hashcheck                       Disable the execution of SSH commands to determine if remote file hashing is available
13315                    --sftp-host string                             SSH host to connect to
13316                    --sftp-idle-timeout Duration                   Max time before closing idle connections (default 1m0s)
13317                    --sftp-key-file string                         Path to PEM-encoded private key file
13318                    --sftp-key-file-pass string                    The passphrase to decrypt the PEM-encoded private key file (obscured)
13319                    --sftp-key-pem string                          Raw PEM-encoded private key
13320                    --sftp-key-use-agent                           When set forces the usage of the ssh-agent
13321                    --sftp-known-hosts-file string                 Optional path to known_hosts file
13322                    --sftp-md5sum-command string                   The command used to read md5 hashes
13323                    --sftp-pass string                             SSH password, leave blank to use ssh-agent (obscured)
13324                    --sftp-path-override string                    Override path used by SSH connection
13325                    --sftp-port string                             SSH port, leave blank to use default (22)
13326                    --sftp-pubkey-file string                      Optional path to public key file
13327                    --sftp-server-command string                   Specifies the path or command to run a sftp server on the remote host
13328                    --sftp-set-modtime                             Set the modified time on the remote if set (default true)
13329                    --sftp-sha1sum-command string                  The command used to read sha1 hashes
13330                    --sftp-skip-links                              Set to skip any symlinks and any other non regular files
13331                    --sftp-subsystem string                        Specifies the SSH2 subsystem on the remote host (default "sftp")
13332                    --sftp-use-fstat                               If set use fstat instead of stat
13333                    --sftp-use-insecure-cipher                     Enable the use of insecure ciphers and key exchange methods
13334                    --sftp-user string                             SSH username, leave blank for current username, $USER
13335                    --sharefile-chunk-size SizeSuffix              Upload chunk size (default 64Mi)
13336                    --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)
13337                    --sharefile-endpoint string                    Endpoint for API calls
13338                    --sharefile-root-folder-id string              ID of the root folder
13339                    --sharefile-upload-cutoff SizeSuffix           Cutoff for switching to multipart upload (default 128Mi)
13340                    --sia-api-password string                      Sia Daemon API Password (obscured)
13341                    --sia-api-url string                           Sia daemon API URL, like http://sia.daemon.host:9980 (default "http://127.0.0.1:9980")
13342                    --sia-encoding MultiEncoder                    This sets the encoding for the backend (default Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot)
13343                    --sia-user-agent string                        Siad User Agent (default "Sia-Agent")
13344                    --skip-links                                   Don't warn about skipped symlinks
13345                    --sugarsync-access-key-id string               Sugarsync Access Key ID
13346                    --sugarsync-app-id string                      Sugarsync App ID
13347                    --sugarsync-authorization string               Sugarsync authorization
13348                    --sugarsync-authorization-expiry string        Sugarsync authorization expiry
13349                    --sugarsync-deleted-id string                  Sugarsync deleted folder id
13350                    --sugarsync-encoding MultiEncoder              This sets the encoding for the backend (default Slash,Ctl,InvalidUtf8,Dot)
13351                    --sugarsync-hard-delete                        Permanently delete files if true
13352                    --sugarsync-private-access-key string          Sugarsync Private Access Key
13353                    --sugarsync-refresh-token string               Sugarsync refresh token
13354                    --sugarsync-root-id string                     Sugarsync root id
13355                    --sugarsync-user string                        Sugarsync user
13356                    --swift-application-credential-id string       Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
13357                    --swift-application-credential-name string     Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
13358                    --swift-application-credential-secret string   Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
13359                    --swift-auth string                            Authentication URL for server (OS_AUTH_URL)
13360                    --swift-auth-token string                      Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
13361                    --swift-auth-version int                       AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
13362                    --swift-chunk-size SizeSuffix                  Above this size files will be chunked into a _segments container (default 5Gi)
13363                    --swift-domain string                          User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
13364                    --swift-encoding MultiEncoder                  This sets the encoding for the backend (default Slash,InvalidUtf8)
13365                    --swift-endpoint-type string                   Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default "public")
13366                    --swift-env-auth                               Get swift credentials from environment variables in standard OpenStack form
13367                    --swift-key string                             API key or password (OS_PASSWORD)
13368                    --swift-leave-parts-on-error                   If true avoid calling abort upload on a failure
13369                    --swift-no-chunk                               Don't chunk files during streaming upload
13370                    --swift-region string                          Region name - optional (OS_REGION_NAME)
13371                    --swift-storage-policy string                  The storage policy to use when creating a new container
13372                    --swift-storage-url string                     Storage URL - optional (OS_STORAGE_URL)
13373                    --swift-tenant string                          Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
13374                    --swift-tenant-domain string                   Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
13375                    --swift-tenant-id string                       Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
13376                    --swift-user string                            User name to log in (OS_USERNAME)
13377                    --swift-user-id string                         User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID)
13378                    --tardigrade-access-grant string               Access grant
13379                    --tardigrade-api-key string                    API key
13380                    --tardigrade-passphrase string                 Encryption passphrase
13381                    --tardigrade-provider string                   Choose an authentication method (default "existing")
13382                    --tardigrade-satellite-address string          Satellite address (default "us-central-1.tardigrade.io")
13383                    --union-action-policy string                   Policy to choose upstream on ACTION category (default "epall")
13384                    --union-cache-time int                         Cache time of usage and free space (in seconds) (default 120)
13385                    --union-create-policy string                   Policy to choose upstream on CREATE category (default "epmfs")
13386                    --union-search-policy string                   Policy to choose upstream on SEARCH category (default "ff")
13387                    --union-upstreams string                       List of space separated upstreams
13388                    --uptobox-access-token string                  Your access token
13389                    --uptobox-encoding MultiEncoder                This sets the encoding for the backend (default Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot)
13390                    --webdav-bearer-token string                   Bearer token instead of user/pass (e.g. a Macaroon)
13391                    --webdav-bearer-token-command string           Command to run to get a bearer token
13392                    --webdav-encoding string                       This sets the encoding for the backend
13393                    --webdav-headers CommaSepList                  Set HTTP headers for all transactions
13394                    --webdav-pass string                           Password (obscured)
13395                    --webdav-url string                            URL of http host to connect to
13396                    --webdav-user string                           User name
13397                    --webdav-vendor string                         Name of the Webdav site/service/software you are using
13398                    --yandex-auth-url string                       Auth server URL
13399                    --yandex-client-id string                      OAuth Client Id
13400                    --yandex-client-secret string                  OAuth Client Secret
13401                    --yandex-encoding MultiEncoder                 This sets the encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
13402                    --yandex-token string                          OAuth Access Token as a JSON blob
13403                    --yandex-token-url string                      Token server url
13404                    --zoho-auth-url string                         Auth server URL
13405                    --zoho-client-id string                        OAuth Client Id
13406                    --zoho-client-secret string                    OAuth Client Secret
13407                    --zoho-encoding MultiEncoder                   This sets the encoding for the backend (default Del,Ctl,InvalidUtf8)
13408                    --zoho-region string                           Zoho region to connect to
13409                    --zoho-token string                            OAuth Access Token as a JSON blob
13410                    --zoho-token-url string                        Token server url
13411

Docker Volume Plugin

13413   Introduction
13414       Docker   1.9   has   added   support   for   creating   named   volumes
13415       (https://docs.docker.com/storage/volumes/)  via  command-line interface
13416       (https://docs.docker.com/engine/reference/commandline/volume_create/)
13417       and  mounting  them  in containers as a way to share data between them.
13418       Since Docker 1.10 you can create  named  volumes  with  Docker  Compose
13419       (https://docs.docker.com/compose/)   by   descriptions  in  docker-com‐
13420       pose.yml    (https://docs.docker.com/compose/compose-file/compose-file-
13421       v2/#volume-configuration-reference)  files  for use by container groups
13422       on a single host.  As of Docker 1.12 volumes are  supported  by  Docker
13423       Swarm   (https://docs.docker.com/engine/swarm/key-concepts/)   included
13424       with Docker Engine and created from descriptions in  swarm  compose  v3
13425       (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-
13426       configuration-reference) files for use with swarm stacks across  multi‐
13427       ple cluster nodes.
13428
13429       Docker   Volume   Plugins  (https://docs.docker.com/engine/extend/plug
13430       ins_volume/) augment the default local volume driver included in Docker
13431       with stateful volumes shared across containers and hosts.  Unlike local
13432       volumes, your data will not be deleted when  such  volume  is  removed.
13433       Plugins  can  run managed by the docker daemon, as a native system ser‐
13434       vice (under systemd, sysv or upstart) or as  a  standalone  executable.
13435       Rclone  can  run as docker volume plugin in all these modes.  It inter‐
13436       acts with the local docker daemon via  plugin  API  (https://docs.dock
13437       er.com/engine/extend/plugin_api/)  and  handles mounting of remote file
13438       systems into docker containers so it must run on the same host  as  the
13439       docker daemon or on every Swarm node.
13440
13441   Getting started
13442       In  the  first  example we will use the SFTP (https://rclone.org/sftp/)
13443       rclone volume with Docker engine on a standalone Ubuntu machine.
13444
13445       Start from installing Docker  (https://docs.docker.com/engine/install/)
13446       on the host.
13447
13448       The FUSE driver is a prerequisite for rclone mounting and should be in‐
13449       stalled on host:
13450
13451              sudo apt-get -y install fuse
13452
13453       Create two directories required by rclone docker plugin:
13454
13455              sudo mkdir -p /var/lib/docker-plugins/rclone/config
13456              sudo mkdir -p /var/lib/docker-plugins/rclone/cache
13457
13458       Install the managed rclone docker plugin for  your  architecture  (here
13459       amd64):
13460
13461              docker plugin install rclone/docker-volume-rclone:amd64 args="-v" --alias rclone --grant-all-permissions
13462              docker plugin list
13463
13464       Create your SFTP volume (https://rclone.org/sftp/#standard-options):
13465
13466              docker volume create firstvolume -d rclone -o type=sftp -o sftp-host=_hostname_ -o sftp-user=_username_ -o sftp-pass=_password_ -o allow-other=true
13467
13468       Note  that  since  all  options  are static, you don't even have to run
13469       rclone config or create the rclone.conf file (but the config  directory
13470       should  still  be present).  In the simplest case you can use localhost
13471       as hostname and your SSH credentials as username and password.  You can
13472       also change the remote path to your home directory on the host, for ex‐
13473       ample -o path=/home/username.
13474
13475       Time to create a test container and mount the volume into it:
13476
13477              docker run --rm -it -v firstvolume:/mnt --workdir /mnt ubuntu:latest bash
13478
13479       If all goes well, you will enter the new container and change right  to
13480       the mounted SFTP remote.  You can type ls to list the mounted directory
13481       or otherwise play with it.  Type exit when you are done.  The container
13482       will  stop but the volume will stay, ready to be reused.  When it's not
13483       needed anymore, remove it:
13484
13485              docker volume list
13486              docker volume remove firstvolume
13487
13488       Now   let   us   try   something   more   elaborate:    Google    Drive
13489       (https://rclone.org/drive/) volume on multi-node Docker Swarm.
13490
13491       You  should  start from installing Docker and FUSE, creating plugin di‐
13492       rectories and installing rclone plugin on every swarm node.  Then setup
13493       the Swarm (https://docs.docker.com/engine/swarm/swarm-mode/).
13494
13495       Google  Drive  volumes  need an access token which can be setup via web
13496       browser and will be periodically renewed by rclone.  The managed plugin
13497       cannot  run  a browser so we will use a technique similar to the rclone
13498       setup on a headless box (https://rclone.org/remote_setup/).
13499
13500       Run rclone  config  (https://rclone.org/commands/rclone_config_create/)
13501       on  another machine equipped with web browser and graphical user inter‐
13502       face.  Create the Google Drive remote  (https://rclone.org/drive/#stan‐
13503       dard-options).   When  done,  transfer the resulting rclone.conf to the
13504       Swarm   cluster   and   save   as   /var/lib/docker-plugins/rclone/con‐
13505       fig/rclone.conf  on every node.  By default this location is accessible
13506       only to the root user so you will need appropriate privileges.  The re‐
13507       sulting config will look like this:
13508
13509              [gdrive]
13510              type = drive
13511              scope = drive
13512              drive_id = 1234567...
13513              root_folder_id = 0Abcd...
13514              token = {"access_token":...}
13515
13516       Now  create  the  file named example.yml with a swarm stack description
13517       like this:
13518
13519              version: '3'
13520              services:
13521                heimdall:
13522                  image: linuxserver/heimdall:latest
13523                  ports: [8080:80]
13524                  volumes: [configdata:/config]
13525              volumes:
13526                configdata:
13527                  driver: rclone
13528                  driver_opts:
13529                    remote: 'gdrive:heimdall'
13530                    allow_other: 'true'
13531                    vfs_cache_mode: full
13532                    poll_interval: 0
13533
13534       and run the stack:
13535
13536              docker stack deploy example -c ./example.yml
13537
13538       After a few seconds docker will spread  the  parsed  stack  description
13539       over  cluster,  create  the  example_heimdall service on port 8080, run
13540       service containers on one or more cluster nodes and request  the  exam‐
13541       ple_configdata  volume  from rclone plugins on the node hosts.  You can
13542       use the following commands to confirm results:
13543
13544              docker service ls
13545              docker service ps example_heimdall
13546              docker volume ls
13547
13548       Point your browser to http://cluster.host.address:8080  and  play  with
13549       the  service.   Stop  it  with docker stack remove example when you are
13550       done.  Note that the example_configdata volume(s) created on demand  at
13551       the  cluster  nodes will not be automatically removed together with the
13552       stack but stay for future reuse.  You can remove them manually  by  in‐
13553       voking  the  docker  volume  remove example_configdata command on every
13554       node.
13555
13556   Creating Volumes via CLI
13557       Volumes can be created with docker  volume  create  (https://docs.dock
13558       er.com/engine/reference/commandline/volume_create/).   Here  are  a few
13559       examples:
13560
13561              docker volume create vol1 -d rclone -o remote=storj: -o vfs-cache-mode=full
13562              docker volume create vol2 -d rclone -o remote=:tardigrade,access_grant=xxx:heimdall
13563              docker volume create vol3 -d rclone -o type=tardigrade -o path=heimdall -o tardigrade-access-grant=xxx -o poll-interval=0
13564
13565       Note the -d rclone flag that tells docker to request  volume  from  the
13566       rclone  driver.  This works even if you installed managed driver by its
13567       full name rclone/docker-volume-rclone because you provided the  --alias
13568       rclone option.
13569
13570       Volumes can be inspected as follows:
13571
13572              docker volume list
13573              docker volume inspect vol1
13574
13575   Volume Configuration
13576       Rclone  flags  and volume options are set via the -o flag to the docker
13577       volume create command.  They  include  backend-specific  parameters  as
13578       well  as  mount  and  VFS options.  Also there are a few special -o op‐
13579       tions: remote, fs, type, path, mount-type and persist.
13580
13581       remote determines an existing remote name from the  config  file,  with
13582       trailing  colon and optionally with a remote path.  See the full syntax
13583       in the rclone documentation (https://rclone.org/docs/#syntax-of-remote-
13584       paths).  This option can be aliased as fs to prevent confusion with the
13585       remote parameter of such backends as crypt or alias.
13586
13587       The remote=:backend:dir/subdir syntax can be used to create  on-the-fly
13588       (config-less)  remotes  (https://rclone.org/docs/#backend-path-to-dir),
13589       while the type and path options provide a simpler alternative for this.
13590       Using two split options
13591
13592              -o type=backend -o path=dir/subdir
13593
13594       is equivalent to the combined syntax
13595
13596              -o remote=:backend:dir/subdir
13597
13598       but  is  arguably  easier to parameterize in scripts.  The path part is
13599       optional.
13600
13601       Mount and VFS  options  (https://rclone.org/commands/rclone_serve_dock
13602       er/#options)       as       well       as       backend      parameters
13603       (https://rclone.org/flags/#backend-flags) are  named  like  their  twin
13604       command-line  flags  without the -- CLI prefix.  Optionally you can use
13605       underscores  instead  of  dashes  in  option   names.    For   example,
13606       --vfs-cache-mode    full   becomes   -o   vfs-cache-mode=full   or   -o
13607       vfs_cache_mode=full.  Boolean CLI flags without  value  will  gain  the
13608       true  value,  e.g.  --allow-other becomes -o allow-other=true or -o al‐
13609       low_other=true.
13610
13611       Please note that you can provide parameters only for the backend  imme‐
13612       diately referenced by the backend type of mounted remote.  If this is a
13613       wrapping backend like alias, chunker or crypt, you cannot  provide  op‐
13614       tions  for  the  referred to remote or backend.  This limitation is im‐
13615       posed by the rclone connection string parser.  The only  workaround  is
13616       to  feed plugin with rclone.conf or configure plugin arguments (see be‐
13617       low).
13618
13619   Special Volume Options
13620       mount-type determines the mount method and in general can  be  one  of:
13621       mount,  cmount,  or  mount2.   This  can  be aliased as mount_type.  It
13622       should be noted that the managed rclone docker  plugin  currently  does
13623       not support the cmount method and mount2 is rarely needed.  This option
13624       defaults to the first found method, which is usually mount so you  gen‐
13625       erally won't need it.
13626
13627       persist  is  a reserved boolean (true/false) option.  In future it will
13628       allow to persist on-the-fly remotes in the plugin rclone.conf file.
13629
13630   Connection Strings
13631       The  remote   value   can   be   extended   with   connection   strings
13632       (https://rclone.org/docs/#connection-strings)  as an alternative way to
13633       supply backend parameters.  This is equivalent to the  -o  backend  op‐
13634       tions  with  one  syntactic  difference.   Inside connection string the
13635       backend prefix must be dropped from  parameter  names  but  in  the  -o
13636       param=value  array  it must be present.  For instance, compare the fol‐
13637       lowing option array
13638
13639              -o remote=:sftp:/home -o sftp-host=localhost
13640
13641       with equivalent connection string:
13642
13643              -o remote=:sftp,host=localhost:/home
13644
13645       This difference exists because flag options -o key=val include not only
13646       backend  parameters  but  also  mount/VFS flags and possibly other set‐
13647       tings.  Also it allows to  discriminate  the  remote  option  from  the
13648       crypt-remote  (or similarly named backend parameters) and arguably sim‐
13649       plifies scripting due to clearer value substitution.
13650
13651   Using with Swarm or Compose
13652       Both    Docker    Swarm     and     Docker     Compose     use     YAML
13653       (http://yaml.org/spec/1.2/spec.html)-formatted  text  files to describe
13654       groups (stacks) of containers, their properties, networks and  volumes.
13655       Compose  uses  the compose v2 (https://docs.docker.com/compose/compose-
13656       file/compose-file-v2/#volume-configuration-reference) format, Swarm us‐
13657       es  the  compose  v3 (https://docs.docker.com/compose/compose-file/com
13658       pose-file-v3/#volume-configuration-reference) format.  They are  mostly
13659       similar,   differences   are  explained  in  the  docker  documentation
13660       (https://docs.docker.com/compose/compose-file/compose-versioning/#up‐
13661       grading).
13662
13663       Volumes  are  described by the children of the top-level volumes: node.
13664       Each of them should be named after its volume and have at least two el‐
13665       ements,  the self-explanatory driver: rclone value and the driver_opts:
13666       structure playing the same role as -o key=val CLI flags:
13667
13668              volumes:
13669                volume_name_1:
13670                  driver: rclone
13671                  driver_opts:
13672                    remote: 'gdrive:'
13673                    allow_other: 'true'
13674                    vfs_cache_mode: full
13675                    token: '{"type": "borrower", "expires": "2021-12-31"}'
13676                    poll_interval: 0
13677
13678       Notice a few important details: - YAML prefers _ in  option  names  in‐
13679       stead  of  -.   - YAML treats single and double quotes interchangeably.
13680       Simple strings and integers can be left  unquoted.   -  Boolean  values
13681       must  be  quoted like 'true' or "false" because these two words are re‐
13682       served by YAML.  - The filesystem string is keyed with remote (or  with
13683       fs).   Normally  you  can omit quotes here, but if the string ends with
13684       colon, you must quote it like remote: "storage_box:".  - YAML is  picky
13685       about  surrounding  braces  in values as this is in fact another syntax
13686       for key/value mappings  (http://yaml.org/spec/1.2/spec.html#id2790832).
13687       For  example, JSON access tokens usually contain double quotes and sur‐
13688       rounding braces, so you must put them in single quotes.
13689
13690   Installing as Managed Plugin
13691       Docker daemon can install plugins from an image registry and  run  them
13692       managed.    We  maintain  the  docker-volume-rclone  (https://hub.dock
13693       er.com/p/rclone/docker-volume-rclone/)  plugin  image  on  Docker   Hub
13694       (https://hub.docker.com).
13695
13696       Rclone volume plugin requires Docker Engine >= 19.03.15
13697
13698       The  plugin  requires presence of two directories on the host before it
13699       can be installed.  Note that plugin will not create them automatically.
13700       By  default  they must exist on host at the following locations (though
13701       you can tweak the paths):  -  /var/lib/docker-plugins/rclone/config  is
13702       reserved  for  the  rclone.conf config file and must exist even if it's
13703       empty and the config file  is  not  present.   -  /var/lib/docker-plug‐
13704       ins/rclone/cache  holds  the  plugin state file as well as optional VFS
13705       caches.
13706
13707       You can install managed  plugin  (https://docs.docker.com/engine/refer
13708       ence/commandline/plugin_install/) with default settings as follows:
13709
13710              docker plugin install rclone/docker-volume-rclone:amd64 --grant-all-permissions --alias rclone
13711
13712       The :amd64 part of the image specification after colon is called a tag.
13713       Usually you will want to install the latest plugin for  your  architec‐
13714       ture.   In  this case the tag will just name it, like amd64 above.  The
13715       following plugin architectures are currently available: - amd64 - arm64
13716       - arm-v7
13717
13718       Sometimes you might want a concrete plugin version, not the latest one.
13719       Then you should use image tag in the form  :ARCHITECTURE-VERSION.   For
13720       example,  to  install  plugin version v1.56.2 on architecture arm64 you
13721       will use tag arm64-1.56.2 (note the removed v) so the full image speci‐
13722       fication becomes rclone/docker-volume-rclone:arm64-1.56.2.
13723
13724       We  also  provide the latest plugin tag, but since docker does not sup‐
13725       port multi-architecture plugins as of the time of  this  writing,  this
13726       tag  is  currently an alias for amd64.  By convention the latest tag is
13727       the default one  and  can  be  omitted,  thus  both  rclone/docker-vol‐
13728       ume-rclone:latest  and  just  rclone/docker-volume-rclone will refer to
13729       the latest plugin release for the amd64 platform.
13730
13731       Also the amd64 part can be omitted from  the  versioned  rclone  plugin
13732       tags.    For   example,   rclone   image  reference  rclone/docker-vol‐
13733       ume-rclone:amd64-1.56.2  can  be  abbreviated   as   rclone/docker-vol‐
13734       ume-rclone:1.56.2  for  convenience.   However, for non-intel architec‐
13735       tures you still have to use the full tag as amd64 or latest  will  fail
13736       to start.
13737
13738       Managed  plugin  is  in fact a special container running in a namespace
13739       separate from normal docker containers.   Inside  it  runs  the  rclone
13740       serve docker command.  The config and cache directories are bind-mount‐
13741       ed into the container at start.  The docker daemon connects to  a  unix
13742       socket  created  by the command inside the container.  The command cre‐
13743       ates on-demand remote mounts right inside, then docker machinery propa‐
13744       gates  them  through  kernel  mount namespaces and bind-mounts into re‐
13745       questing user containers.
13746
13747       You can tweak a few plugin settings after installation when  it's  dis‐
13748       abled (not in use), for instance:
13749
13750              docker plugin disable rclone
13751              docker plugin set rclone RCLONE_VERBOSE=2 config=/etc/rclone args="--vfs-cache-mode=writes --allow-other"
13752              docker plugin enable rclone
13753              docker plugin inspect rclone
13754
13755       Note  that if docker refuses to disable the plugin, you should find and
13756       remove all active volumes connected with it as well as  containers  and
13757       swarm  services  that use them.  This is rather tedious so please care‐
13758       fully plan in advance.
13759
13760       You can tweak the following settings: args, config, cache,  HTTP_PROXY,
13761       HTTPS_PROXY, NO_PROXY and RCLONE_VERBOSE.  It's your task to keep plug‐
13762       in settings in sync across swarm cluster nodes.
13763
13764       args sets command-line arguments for the rclone  serve  docker  command
13765       (none  by default).  Arguments should be separated by space so you will
13766       normally  want  to  put  them  in  quotes  on  the  docker  plugin  set
13767       (https://docs.docker.com/engine/reference/commandline/plugin_set/) com‐
13768       mand  line.    Both   serve   docker   flags   (https://rclone.org/com
13769       mands/rclone_serve_docker/#options)    and    generic    rclone   flags
13770       (https://rclone.org/flags/) are supported, including backend parameters
13771       that  will  be  used as defaults for volume creation.  Note that plugin
13772       will  fail  (due  to  this  docker   bug   (https://github.com/moby/mo
13773       by/blob/v20.10.7/plugin/v2/plugin.go#L195)) if the args value is empty.
13774       Use e.g.  args="-v" as a workaround.
13775
13776       config=/host/dir sets alternative host location for the config directo‐
13777       ry.   Plugin  will look for rclone.conf here.  It's not an error if the
13778       config file is not present but the directory must exist.   Please  note
13779       that  plugin can periodically rewrite the config file, for example when
13780       it renews storage access tokens.  Keep this in mind and  try  to  avoid
13781       races between the plugin and other instances of rclone on the host that
13782       might try to change the config simultaneously  resulting  in  corrupted
13783       rclone.conf.   You  can  also put stuff like private key files for SFTP
13784       remotes in this directory.  Just note that it's bind-mounted inside the
13785       plugin  container at the predefined path /data/config.  For example, if
13786       your key file is named sftp-box1.key on  the  host,  the  corresponding
13787       volume   config   option   should   read   -o  sftp-key-file=/data/con‐
13788       fig/sftp-box1.key.
13789
13790       cache=/host/dir sets alternative host location for the cache directory.
13791       The plugin will keep VFS caches here.  Also it will create and maintain
13792       the docker-plugin.state file in this directory.   When  the  plugin  is
13793       restarted  or  reinstalled,  it  will look in this file to recreate any
13794       volumes that existed previously.  However, they will not be  re-mounted
13795       into consuming containers after restart.  Usually this is not a problem
13796       as the docker daemon normally will restart affected user containers af‐
13797       ter failures, daemon restarts or host reboots.
13798
13799       RCLONE_VERBOSE  sets  plugin verbosity from 0 (errors only, by default)
13800       to 2 (debugging).  Verbosity can be  also  tweaked  via  args="-v  [-v]
13801       ...".  Since arguments are more generic, you will rarely need this set‐
13802       ting.  The plugin output by default feeds the docker daemon log on  lo‐
13803       cal  host.   Log  entries are reflected as errors in the docker log but
13804       retain their actual level assigned by rclone in the  encapsulated  mes‐
13805       sage string.
13806
13807       HTTP_PROXY, HTTPS_PROXY, NO_PROXY customize the plugin proxy settings.
13808
13809       You can set custom plugin options right when you install it, in one go:
13810
13811              docker plugin remove rclone
13812              docker plugin install rclone/docker-volume-rclone:amd64 \
13813                     --alias rclone --grant-all-permissions \
13814                     args="-v --allow-other" config=/etc/rclone
13815              docker plugin inspect rclone
13816
13817   Healthchecks
13818       The  docker plugin volume protocol doesn't provide a way for plugins to
13819       inform the docker daemon that a volume is (un-)available.  As  a  work‐
13820       around you can setup a healthcheck to verify that the mount is respond‐
13821       ing, for example:
13822
13823              services:
13824                my_service:
13825                  image: my_image
13826                  healthcheck:
13827                    test: ls /path/to/rclone/mount || exit 1
13828                    interval: 1m
13829                    timeout: 15s
13830                    retries: 3
13831                    start_period: 15s
13832
13833   Running Plugin under Systemd
13834       In most cases you should prefer managed mode.  Moreover, MacOS and Win‐
13835       dows  do not support native Docker plugins.  Please use managed mode on
13836       these systems.  Proceed further only if you are on Linux.
13837
13838       First, install rclone (https://rclone.org/install/).  You can just  run
13839       it (type rclone serve docker and hit enter) for the test.
13840
13841       Install FUSE:
13842
13843              sudo apt-get -y install fuse
13844
13845       Download  two systemd configuration files: docker-volume-rclone.service
13846       (https://raw.githubusercontent.com/rclone/rclone/master/contrib/docker-
13847       plugin/systemd/docker-volume-rclone.service)       and      docker-vol‐
13848       ume-rclone.socket (https://raw.githubusercontent.com/rclone/rclone/mas
13849       ter/contrib/docker-plugin/systemd/docker-volume-rclone.socket).
13850
13851       Put them to the /etc/systemd/system/ directory:
13852
13853              cp docker-volume-plugin.service /etc/systemd/system/
13854              cp docker-volume-plugin.socket  /etc/systemd/system/
13855
13856       Please  note  that all commands in this section must be run as root but
13857       we omit sudo prefix for brevity.  Now create  directories  required  by
13858       the service:
13859
13860              mkdir -p /var/lib/docker-volumes/rclone
13861              mkdir -p /var/lib/docker-plugins/rclone/config
13862              mkdir -p /var/lib/docker-plugins/rclone/cache
13863
13864       Run the docker plugin service in the socket activated mode:
13865
13866              systemctl daemon-reload
13867              systemctl start docker-volume-rclone.service
13868              systemctl enable docker-volume-rclone.socket
13869              systemctl start docker-volume-rclone.socket
13870              systemctl restart docker
13871
13872       Or  run the service directly: - run systemctl daemon-reload to let sys‐
13873       temd  pick  up  new  config  -   run   systemctl   enable   docker-vol‐
13874       ume-rclone.service to make the new service start automatically when you
13875       power on your machine.  - run systemctl start docker-volume-rclone.ser‐
13876       vice  to  start  the  service  now.   - run systemctl restart docker to
13877       restart docker daemon and let it detect the new  plugin  socket.   Note
13878       that  this  step is not needed in managed mode where docker knows about
13879       plugin state changes.
13880
13881       The two methods are equivalent from the user perspective, but I person‐
13882       ally prefer socket activation.
13883
13884   Troubleshooting
13885       You can see managed plugin settings (https://docs.docker.com/engine/ex
13886       tend/#debugging-plugins) with
13887
13888              docker plugin list
13889              docker plugin inspect rclone
13890
13891       Note that docker (including latest 20.10.7) will not show actual values
13892       of args, just the defaults.
13893
13894       Use  journalctl  --unit  docker to see managed plugin output as part of
13895       the docker daemon log.  Note that docker reflects plugin lines  as  er‐
13896       rors  but  their  actual  level  can  be seen from encapsulated message
13897       string.
13898
13899       You will usually install the latest version of managed plugin for  your
13900       platform.   Use  the  following  commands to print the actual installed
13901       version:
13902
13903              PLUGID=$(docker plugin list --no-trunc | awk '/rclone/{print$1}')
13904              sudo runc --root /run/docker/runtime-runc/plugins.moby exec $PLUGID rclone version
13905
13906       You can even use runc to run shell inside the plugin container:
13907
13908              sudo runc --root /run/docker/runtime-runc/plugins.moby exec --tty $PLUGID bash
13909
13910       Also you can use curl to check the plugin socket connectivity:
13911
13912              docker plugin list --no-trunc
13913              PLUGID=123abc...
13914              sudo curl -H Content-Type:application/json -XPOST -d {} --unix-socket /run/docker/plugins/$PLUGID/rclone.sock http://localhost/Plugin.Activate
13915
13916       though this is rarely needed.
13917
13918   Caveats
13919       Finally I'd like to mention a caveat  with  updating  volume  settings.
13920       Docker CLI does not have a dedicated command like docker volume update.
13921       It may be tempting to invoke docker volume create with updated  options
13922       on  existing  volume, but there is a gotcha.  The command will do noth‐
13923       ing, it won't even return an error.  I  hope  that  docker  maintainers
13924       will  fix this some day.  In the meantime be aware that you must remove
13925       your volume before recreating it with new settings:
13926
13927              docker volume remove my_vol
13928              docker volume create my_vol -d rclone -o opt1=new_val1 ...
13929
13930       and verify that settings did update:
13931
13932              docker volume list
13933              docker volume inspect my_vol
13934
13935       If docker refuses to remove the volume, you should find  containers  or
13936       swarm services that use it and stop them first.
13937

1Fichier

13939       This is a backend for the 1fichier (https://1fichier.com) cloud storage
13940       service.  Note that a Premium subscription is required to use the API.
13941
13942       Paths are specified as remote:path
13943
13944       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
13945
13946   Configuration
13947       The initial setup for 1Fichier involves getting the API  key  from  the
13948       website which you need to do in your browser.
13949
13950       Here is an example of how to make a remote called remote.  First run:
13951
13952               rclone config
13953
13954       This will guide you through an interactive setup process:
13955
13956              No remotes found - make a new one
13957              n) New remote
13958              s) Set configuration password
13959              q) Quit config
13960              n/s/q> n
13961              name> remote
13962              Type of storage to configure.
13963              Enter a string value. Press Enter for the default ("").
13964              Choose a number from below, or type in your own value
13965              [snip]
13966              XX / 1Fichier
13967                 \ "fichier"
13968              [snip]
13969              Storage> fichier
13970              ** See help for fichier backend at: https://rclone.org/fichier/ **
13971
13972              Your API Key, get it from https://1fichier.com/console/params.pl
13973              Enter a string value. Press Enter for the default ("").
13974              api_key> example_key
13975
13976              Edit advanced config? (y/n)
13977              y) Yes
13978              n) No
13979              y/n>
13980              Remote config
13981              --------------------
13982              [remote]
13983              type = fichier
13984              api_key = example_key
13985              --------------------
13986              y) Yes this is OK
13987              e) Edit this remote
13988              d) Delete this remote
13989              y/e/d> y
13990
13991       Once configured you can then use rclone like this,
13992
13993       List directories in top level of your 1Fichier account
13994
13995              rclone lsd remote:
13996
13997       List all the files in your 1Fichier account
13998
13999              rclone ls remote:
14000
14001       To copy a local directory to a 1Fichier directory called backup
14002
14003              rclone copy /home/source remote:backup
14004
14005   Modified time and hashes
14006       1Fichier   does  not  support  modification  times.   It  supports  the
14007       Whirlpool hash algorithm.
14008
14009   Duplicated files
14010       1Fichier can have two files with exactly the same name and path (unlike
14011       a normal file system).
14012
14013       Duplicated  files cause problems with the syncing and you will see mes‐
14014       sages in the log about duplicates.
14015
14016   Restricted filename characters
14017       In   addition   to    the    default    restricted    characters    set
14018       (https://rclone.org/overview/#restricted-characters)    the   following
14019       characters are also replaced:
14020
14021       Character   Value   Replacement
14022       ────────────────────────────────
14023       \           0x5C        \
14024       <           0x3C        <
14025       >           0x3E        >
14026       "           0x22        "
14027       $           0x24        $
14028       `           0x60        `
14029       '           0x27        '
14030
14031       File names can also not start or end  with  the  following  characters.
14032       These  only get replaced if they are the first or last character in the
14033       name:
14034
14035       Character   Value   Replacement
14036       ────────────────────────────────
14037       SP          0x20         ␠
14038
14039       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
14040       view/#invalid-utf8), as they can't be used in JSON strings.
14041
14042   Standard options
14043       Here are the standard options specific to fichier (1Fichier).
14044
14045   --fichier-api-key
14046       Your API Key, get it from https://1fichier.com/console/params.pl.
14047
14048       • Config: api_key
14049
14050       • Env Var: RCLONE_FICHIER_API_KEY
14051
14052       • Type: string
14053
14054       • Default: ""
14055
14056   Advanced options
14057       Here are the advanced options specific to fichier (1Fichier).
14058
14059   --fichier-shared-folder
14060       If you want to download a shared folder, add this parameter.
14061
14062       • Config: shared_folder
14063
14064       • Env Var: RCLONE_FICHIER_SHARED_FOLDER
14065
14066       • Type: string
14067
14068       • Default: ""
14069
14070   --fichier-file-password
14071       If  you  want to download a shared file that is password protected, add
14072       this parameter.
14073
14074       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
14075       (https://rclone.org/commands/rclone_obscure/).
14076
14077       • Config: file_password
14078
14079       • Env Var: RCLONE_FICHIER_FILE_PASSWORD
14080
14081       • Type: string
14082
14083       • Default: ""
14084
14085   --fichier-folder-password
14086       If  you want to list the files in a shared folder that is password pro‐
14087       tected, add this parameter.
14088
14089       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
14090       (https://rclone.org/commands/rclone_obscure/).
14091
14092       • Config: folder_password
14093
14094       • Env Var: RCLONE_FICHIER_FOLDER_PASSWORD
14095
14096       • Type: string
14097
14098       • Default: ""
14099
14100   --fichier-encoding
14101       This sets the encoding for the backend.
14102
14103       See  the  encoding  section  in  the overview (https://rclone.org/over
14104       view/#encoding) for more info.
14105
14106       • Config: encoding
14107
14108       • Env Var: RCLONE_FICHIER_ENCODING
14109
14110       • Type: MultiEncoder
14111
14112       • Default:    Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,Back‐
14113         Slash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
14114
14115   Limitations
14116       rclone  about is not supported by the 1Fichier backend.  Backends with‐
14117       out this capability cannot determine free space for an rclone mount  or
14118       use policy mfs (most free space) as a member of an rclone union remote.
14119
14120       See   List   of   backends   that   do   not   support   rclone   about
14121       (https://rclone.org/overview/#optional-features)   See   rclone   about
14122       (https://rclone.org/commands/rclone_about/)
14123

Alias

14125       The alias remote provides a new name for another remote.
14126
14127       Paths may be as deep as required or a local path, e.g.  remote:directo‐
14128       ry/subdirectory or /directory/subdirectory.
14129
14130       During the initial setup with rclone config you will specify the target
14131       remote.   The  target  remote can either be a local path or another re‐
14132       mote.
14133
14134       Subfolders can be used in target remote.  Assume an alias remote  named
14135       backup  with  the target mydrive:private/backup.  Invoking rclone mkdir
14136       backup:desktop is  exactly  the  same  as  invoking  rclone  mkdir  my‐
14137       drive:private/backup/desktop.
14138
14139       There  will  be  no  special handling of paths containing ..  segments.
14140       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
14141       rclone  mkdir mydrive:private/backup/../desktop.  The empty path is not
14142       allowed as a remote.  To alias the current directory use . instead.
14143
14144   Configuration
14145       Here is an example of how to make an  alias  called  remote  for  local
14146       folder.  First run:
14147
14148               rclone config
14149
14150       This will guide you through an interactive setup process:
14151
14152              No remotes found - make a new one
14153              n) New remote
14154              s) Set configuration password
14155              q) Quit config
14156              n/s/q> n
14157              name> remote
14158              Type of storage to configure.
14159              Choose a number from below, or type in your own value
14160              [snip]
14161              XX / Alias for an existing remote
14162                 \ "alias"
14163              [snip]
14164              Storage> alias
14165              Remote or path to alias.
14166              Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
14167              remote> /mnt/storage/backup
14168              Remote config
14169              --------------------
14170              [remote]
14171              remote = /mnt/storage/backup
14172              --------------------
14173              y) Yes this is OK
14174              e) Edit this remote
14175              d) Delete this remote
14176              y/e/d> y
14177              Current remotes:
14178
14179              Name                 Type
14180              ====                 ====
14181              remote               alias
14182
14183              e) Edit existing remote
14184              n) New remote
14185              d) Delete remote
14186              r) Rename remote
14187              c) Copy remote
14188              s) Set configuration password
14189              q) Quit config
14190              e/n/d/r/c/s/q> q
14191
14192       Once configured you can then use rclone like this,
14193
14194       List directories in top level in /mnt/storage/backup
14195
14196              rclone lsd remote:
14197
14198       List all the files in /mnt/storage/backup
14199
14200              rclone ls remote:
14201
14202       Copy another local directory to the alias directory called source
14203
14204              rclone copy /home/source remote:source
14205
14206   Standard options
14207       Here  are the standard options specific to alias (Alias for an existing
14208       remote).
14209
14210   --alias-remote
14211       Remote or path to alias.
14212
14213       Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or  "/lo‐
14214       cal/path".
14215
14216       • Config: remote
14217
14218       • Env Var: RCLONE_ALIAS_REMOTE
14219
14220       • Type: string
14221
14222       • Default: ""
14223

Amazon Drive

14225       Amazon  Drive, formerly known as Amazon Cloud Drive, is a cloud storage
14226       service run by Amazon for consumers.
14227
14228   Status
14229       Important: rclone supports Amazon Drive only if you have your  own  set
14230       of   API  keys.   Unfortunately  the  Amazon  Drive  developer  program
14231       (https://developer.amazon.com/amazon-drive) is now closed  to  new  en‐
14232       tries so if you don't already have your own set of keys you will not be
14233       able to use rclone with Amazon Drive.
14234
14235       For the history on why rclone no longer has a set of Amazon  Drive  API
14236       keys  see the forum (https://forum.rclone.org/t/rclone-has-been-banned-
14237       from-amazon-drive/2314).
14238
14239       If you happen to know anyone who works at Amazon then please  ask  them
14240       to re-instate rclone into the Amazon Drive developer program - thanks!
14241
14242   Configuration
14243       The initial setup for Amazon Drive involves getting a token from Amazon
14244       which you need to do in your browser.  rclone config walks you  through
14245       it.
14246
14247       The  configuration  process for Amazon Drive may involve using an oauth
14248       proxy (https://github.com/ncw/oauthproxy).  This is used  to  keep  the
14249       Amazon  credentials out of the source code.  The proxy runs in Google's
14250       very secure App Engine environment and doesn't  store  any  credentials
14251       which pass through it.
14252
14253       Since rclone doesn't currently have its own Amazon Drive credentials so
14254       you will either need to have your own client_id and client_secret  with
14255       Amazon  Drive,  or use a third party oauth proxy in which case you will
14256       need to enter client_id, client_secret, auth_url and token_url.
14257
14258       Note also if you are not using Amazon's auth_url and token_url, (ie you
14259       filled  in  something for those) then if setting up on a remote machine
14260       you can only  use  the  copying  the  config  method  of  configuration
14261       (https://rclone.org/remote_setup/#configuring-by-copying-the-config-
14262       file) - rclone authorize will not work.
14263
14264       Here is an example of how to make a remote called remote.  First run:
14265
14266               rclone config
14267
14268       This will guide you through an interactive setup process:
14269
14270              No remotes found - make a new one
14271              n) New remote
14272              r) Rename remote
14273              c) Copy remote
14274              s) Set configuration password
14275              q) Quit config
14276              n/r/c/s/q> n
14277              name> remote
14278              Type of storage to configure.
14279              Choose a number from below, or type in your own value
14280              [snip]
14281              XX / Amazon Drive
14282                 \ "amazon cloud drive"
14283              [snip]
14284              Storage> amazon cloud drive
14285              Amazon Application Client Id - required.
14286              client_id> your client ID goes here
14287              Amazon Application Client Secret - required.
14288              client_secret> your client secret goes here
14289              Auth server URL - leave blank to use Amazon's.
14290              auth_url> Optional auth URL
14291              Token server url - leave blank to use Amazon's.
14292              token_url> Optional token URL
14293              Remote config
14294              Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
14295              Use auto config?
14296               * Say Y if not sure
14297               * Say N if you are working on a remote or headless machine
14298              y) Yes
14299              n) No
14300              y/n> y
14301              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
14302              Log in and authorize rclone for access
14303              Waiting for code...
14304              Got code
14305              --------------------
14306              [remote]
14307              client_id = your client ID goes here
14308              client_secret = your client secret goes here
14309              auth_url = Optional auth URL
14310              token_url = Optional token URL
14311              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
14312              --------------------
14313              y) Yes this is OK
14314              e) Edit this remote
14315              d) Delete this remote
14316              y/e/d> y
14317
14318       See the remote setup docs (https://rclone.org/remote_setup/) for how to
14319       set it up on a machine with no Internet browser available.
14320
14321       Note  that rclone runs a webserver on your local machine to collect the
14322       token as returned from Amazon.  This only runs from the moment it opens
14323       your browser to the moment you get back the verification code.  This is
14324       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
14325       temporarily if you are running a host firewall.
14326
14327       Once configured you can then use rclone like this,
14328
14329       List directories in top level of your Amazon Drive
14330
14331              rclone lsd remote:
14332
14333       List all the files in your Amazon Drive
14334
14335              rclone ls remote:
14336
14337       To copy a local directory to an Amazon Drive directory called backup
14338
14339              rclone copy /home/source remote:backup
14340
14341   Modified time and MD5SUMs
14342       Amazon Drive doesn't allow modification times to be changed via the API
14343       so these won't be accurate or used for syncing.
14344
14345       It does store MD5SUMs so for a more accurate  sync,  you  can  use  the
14346       --checksum flag.
14347
14348   Restricted filename characters
14349       Character   Value   Replacement
14350       ────────────────────────────────
14351       NUL         0x00         ␀
14352       /           0x2F        /
14353
14354       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
14355       view/#invalid-utf8), as they can't be used in JSON strings.
14356
14357   Deleting files
14358       Any files you delete with rclone will end  up  in  the  trash.   Amazon
14359       don't  provide  an  API  to  permanently delete files, nor to empty the
14360       trash, so you will have to do that with one of Amazon's apps or via the
14361       Amazon Drive website.  As of November 17, 2016, files are automatically
14362       deleted by Amazon from the trash after 30 days.
14363
14364   Using with non .com Amazon accounts
14365       Let's say you usually use amazon.co.uk.   When  you  authenticate  with
14366       rclone  it  will  take  you to an amazon.com page to log in.  Your ama‐
14367       zon.co.uk email and password should work here just fine.
14368
14369   Standard options
14370       Here are the standard options specific to amazon  cloud  drive  (Amazon
14371       Drive).
14372
14373   --acd-client-id
14374       OAuth Client Id.
14375
14376       Leave blank normally.
14377
14378       • Config: client_id
14379
14380       • Env Var: RCLONE_ACD_CLIENT_ID
14381
14382       • Type: string
14383
14384       • Default: ""
14385
14386   --acd-client-secret
14387       OAuth Client Secret.
14388
14389       Leave blank normally.
14390
14391       • Config: client_secret
14392
14393       • Env Var: RCLONE_ACD_CLIENT_SECRET
14394
14395       • Type: string
14396
14397       • Default: ""
14398
14399   Advanced options
14400       Here  are  the  advanced options specific to amazon cloud drive (Amazon
14401       Drive).
14402
14403   --acd-token
14404       OAuth Access Token as a JSON blob.
14405
14406       • Config: token
14407
14408       • Env Var: RCLONE_ACD_TOKEN
14409
14410       • Type: string
14411
14412       • Default: ""
14413
14414   --acd-auth-url
14415       Auth server URL.
14416
14417       Leave blank to use the provider defaults.
14418
14419       • Config: auth_url
14420
14421       • Env Var: RCLONE_ACD_AUTH_URL
14422
14423       • Type: string
14424
14425       • Default: ""
14426
14427   --acd-token-url
14428       Token server url.
14429
14430       Leave blank to use the provider defaults.
14431
14432       • Config: token_url
14433
14434       • Env Var: RCLONE_ACD_TOKEN_URL
14435
14436       • Type: string
14437
14438       • Default: ""
14439
14440   --acd-checkpoint
14441       Checkpoint for internal polling (debug).
14442
14443       • Config: checkpoint
14444
14445       • Env Var: RCLONE_ACD_CHECKPOINT
14446
14447       • Type: string
14448
14449       • Default: ""
14450
14451   --acd-upload-wait-per-gb
14452       Additional time per GiB to wait after a failed complete upload  to  see
14453       if it appears.
14454
14455       Sometimes  Amazon  Drive  gives an error when a file has been fully up‐
14456       loaded but the file appears anyway after a little while.  This  happens
14457       sometimes  for files over 1 GiB in size and nearly every time for files
14458       bigger than 10 GiB.  This parameter controls the time rclone waits  for
14459       the file to appear.
14460
14461       The  default  value  for this parameter is 3 minutes per GiB, so by de‐
14462       fault it will wait 3 minutes for every GiB uploaded to see if the  file
14463       appears.
14464
14465       You  can  disable this feature by setting it to 0.  This may cause con‐
14466       flict errors as rclone retries the failed upload but the file will most
14467       likely appear correctly eventually.
14468
14469       These  values  were determined empirically by observing lots of uploads
14470       of big files for a range of file sizes.
14471
14472       Upload with the "-v" flag to see more info about what rclone  is  doing
14473       in this situation.
14474
14475       • Config: upload_wait_per_gb
14476
14477       • Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
14478
14479       • Type: Duration
14480
14481       • Default: 3m0s
14482
14483   --acd-templink-threshold
14484       Files >= this size will be downloaded via their tempLink.
14485
14486       Files  this size or more will be downloaded via their "tempLink".  This
14487       is to work around a problem with Amazon Drive which blocks downloads of
14488       files  bigger  than  about 10 GiB.  The default for this is 9 GiB which
14489       shouldn't need to be changed.
14490
14491       To download files above this threshold, rclone  requests  a  "tempLink"
14492       which  downloads the file through a temporary URL directly from the un‐
14493       derlying S3 storage.
14494
14495       • Config: templink_threshold
14496
14497       • Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
14498
14499       • Type: SizeSuffix
14500
14501       • Default: 9Gi
14502
14503   --acd-encoding
14504       This sets the encoding for the backend.
14505
14506       See the encoding  section  in  the  overview  (https://rclone.org/over
14507       view/#encoding) for more info.
14508
14509       • Config: encoding
14510
14511       • Env Var: RCLONE_ACD_ENCODING
14512
14513       • Type: MultiEncoder
14514
14515       • Default: Slash,InvalidUtf8,Dot
14516
14517   Limitations
14518       Note  that  Amazon  Drive  is case insensitive so you can't have a file
14519       called "Hello.doc" and one called "hello.doc".
14520
14521       Amazon Drive has rate limiting so you may notice  errors  in  the  sync
14522       (429  errors).   rclone will automatically retry the sync up to 3 times
14523       by default (see --retries flag) which should hopefully work around this
14524       problem.
14525
14526       Amazon  Drive  has an internal limit of file sizes that can be uploaded
14527       to the service.  This limit is not officially published, but all  files
14528       larger than this will fail.
14529
14530       At  the  time  of writing (Jan 2016) is in the area of 50 GiB per file.
14531       This means that larger files are likely to fail.
14532
14533       Unfortunately there is no way for rclone to see that  this  failure  is
14534       because  of  file  size,  so  it will retry the operation, as any other
14535       failure.  To avoid this problem, use --max-size 50000M option to  limit
14536       the  maximum  size  of  uploaded  files.  Note that --max-size does not
14537       split files into segments, it only ignores files over this size.
14538
14539       rclone about is not supported by the Amazon  Drive  backend.   Backends
14540       without this capability cannot determine free space for an rclone mount
14541       or use policy mfs (most free space) as a member of an rclone union  re‐
14542       mote.
14543
14544       See   List   of   backends   that   do   not   support   rclone   about
14545       (https://rclone.org/overview/#optional-features)   See   rclone   about
14546       (https://rclone.org/commands/rclone_about/)
14547

Amazon S3 Storage Providers

14549       The S3 backend can be used with a number of different providers:
14550
14551       • AWS S3
14552
14553       • Alibaba Cloud (Aliyun) Object Storage System (OSS)
14554
14555       • Ceph
14556
14557       • DigitalOcean Spaces
14558
14559       • Dreamhost
14560
14561       • IBM COS S3
14562
14563       • Minio
14564
14565       • Scaleway
14566
14567       • SeaweedFS
14568
14569       • StackPath
14570
14571       • Tencent Cloud Object Storage (COS)
14572
14573       • Wasabi
14574
14575       Paths  are specified as remote:bucket (or remote: for the lsd command.)
14576       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
14577
14578       Once you have made a remote (see the provider specific  section  above)
14579       you can use it like this:
14580
14581       See all buckets
14582
14583              rclone lsd remote:
14584
14585       Make a new bucket
14586
14587              rclone mkdir remote:bucket
14588
14589       List the contents of a bucket
14590
14591              rclone ls remote:bucket
14592
14593       Sync  /home/local/directory  to  the remote bucket, deleting any excess
14594       files in the bucket.
14595
14596              rclone sync -i /home/local/directory remote:bucket
14597
14598   Configuration
14599       Here is an example of  making  an  s3  configuration  for  the  AWS  S3
14600       provider.  Most applies to the other providers as well, any differences
14601       are described below.
14602
14603       First run
14604
14605              rclone config
14606
14607       This will guide you through an interactive setup process.
14608
14609              No remotes found - make a new one
14610              n) New remote
14611              s) Set configuration password
14612              q) Quit config
14613              n/s/q> n
14614              name> remote
14615              Type of storage to configure.
14616              Choose a number from below, or type in your own value
14617              [snip]
14618              XX / Amazon S3 Compliant Storage Providers including AWS, Ceph, Dreamhost, IBM COS, Minio, and Tencent COS
14619                 \ "s3"
14620              [snip]
14621              Storage> s3
14622              Choose your S3 provider.
14623              Choose a number from below, or type in your own value
14624               1 / Amazon Web Services (AWS) S3
14625                 \ "AWS"
14626               2 / Ceph Object Storage
14627                 \ "Ceph"
14628               3 / Digital Ocean Spaces
14629                 \ "DigitalOcean"
14630               4 / Dreamhost DreamObjects
14631                 \ "Dreamhost"
14632               5 / IBM COS S3
14633                 \ "IBMCOS"
14634               6 / Minio Object Storage
14635                 \ "Minio"
14636               7 / Wasabi Object Storage
14637                 \ "Wasabi"
14638               8 / Any other S3 compatible provider
14639                 \ "Other"
14640              provider> 1
14641              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.
14642              Choose a number from below, or type in your own value
14643               1 / Enter AWS credentials in the next step
14644                 \ "false"
14645               2 / Get AWS credentials from the environment (env vars or IAM)
14646                 \ "true"
14647              env_auth> 1
14648              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
14649              access_key_id> XXX
14650              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
14651              secret_access_key> YYY
14652              Region to connect to.
14653              Choose a number from below, or type in your own value
14654                 / The default endpoint - a good choice if you are unsure.
14655               1 | US Region, Northern Virginia, or Pacific Northwest.
14656                 | Leave location constraint empty.
14657                 \ "us-east-1"
14658                 / US East (Ohio) Region
14659               2 | Needs location constraint us-east-2.
14660                 \ "us-east-2"
14661                 / US West (Oregon) Region
14662               3 | Needs location constraint us-west-2.
14663                 \ "us-west-2"
14664                 / US West (Northern California) Region
14665               4 | Needs location constraint us-west-1.
14666                 \ "us-west-1"
14667                 / Canada (Central) Region
14668               5 | Needs location constraint ca-central-1.
14669                 \ "ca-central-1"
14670                 / EU (Ireland) Region
14671               6 | Needs location constraint EU or eu-west-1.
14672                 \ "eu-west-1"
14673                 / EU (London) Region
14674               7 | Needs location constraint eu-west-2.
14675                 \ "eu-west-2"
14676                 / EU (Frankfurt) Region
14677               8 | Needs location constraint eu-central-1.
14678                 \ "eu-central-1"
14679                 / Asia Pacific (Singapore) Region
14680               9 | Needs location constraint ap-southeast-1.
14681                 \ "ap-southeast-1"
14682                 / Asia Pacific (Sydney) Region
14683              10 | Needs location constraint ap-southeast-2.
14684                 \ "ap-southeast-2"
14685                 / Asia Pacific (Tokyo) Region
14686              11 | Needs location constraint ap-northeast-1.
14687                 \ "ap-northeast-1"
14688                 / Asia Pacific (Seoul)
14689              12 | Needs location constraint ap-northeast-2.
14690                 \ "ap-northeast-2"
14691                 / Asia Pacific (Mumbai)
14692              13 | Needs location constraint ap-south-1.
14693                 \ "ap-south-1"
14694                 / Asia Pacific (Hong Kong) Region
14695              14 | Needs location constraint ap-east-1.
14696                 \ "ap-east-1"
14697                 / South America (Sao Paulo) Region
14698              15 | Needs location constraint sa-east-1.
14699                 \ "sa-east-1"
14700              region> 1
14701              Endpoint for S3 API.
14702              Leave blank if using AWS to use the default endpoint for the region.
14703              endpoint>
14704              Location constraint - must be set to match the Region. Used when creating buckets only.
14705              Choose a number from below, or type in your own value
14706               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
14707                 \ ""
14708               2 / US East (Ohio) Region.
14709                 \ "us-east-2"
14710               3 / US West (Oregon) Region.
14711                 \ "us-west-2"
14712               4 / US West (Northern California) Region.
14713                 \ "us-west-1"
14714               5 / Canada (Central) Region.
14715                 \ "ca-central-1"
14716               6 / EU (Ireland) Region.
14717                 \ "eu-west-1"
14718               7 / EU (London) Region.
14719                 \ "eu-west-2"
14720               8 / EU Region.
14721                 \ "EU"
14722               9 / Asia Pacific (Singapore) Region.
14723                 \ "ap-southeast-1"
14724              10 / Asia Pacific (Sydney) Region.
14725                 \ "ap-southeast-2"
14726              11 / Asia Pacific (Tokyo) Region.
14727                 \ "ap-northeast-1"
14728              12 / Asia Pacific (Seoul)
14729                 \ "ap-northeast-2"
14730              13 / Asia Pacific (Mumbai)
14731                 \ "ap-south-1"
14732              14 / Asia Pacific (Hong Kong)
14733                 \ "ap-east-1"
14734              15 / South America (Sao Paulo) Region.
14735                 \ "sa-east-1"
14736              location_constraint> 1
14737              Canned ACL used when creating buckets and/or storing objects in S3.
14738              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
14739              Choose a number from below, or type in your own value
14740               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
14741                 \ "private"
14742               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
14743                 \ "public-read"
14744                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
14745               3 | Granting this on a bucket is generally not recommended.
14746                 \ "public-read-write"
14747               4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
14748                 \ "authenticated-read"
14749                 / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
14750               5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
14751                 \ "bucket-owner-read"
14752                 / Both the object owner and the bucket owner get FULL_CONTROL over the object.
14753               6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
14754                 \ "bucket-owner-full-control"
14755              acl> 1
14756              The server-side encryption algorithm used when storing this object in S3.
14757              Choose a number from below, or type in your own value
14758               1 / None
14759                 \ ""
14760               2 / AES256
14761                 \ "AES256"
14762              server_side_encryption> 1
14763              The storage class to use when storing objects in S3.
14764              Choose a number from below, or type in your own value
14765               1 / Default
14766                 \ ""
14767               2 / Standard storage class
14768                 \ "STANDARD"
14769               3 / Reduced redundancy storage class
14770                 \ "REDUCED_REDUNDANCY"
14771               4 / Standard Infrequent Access storage class
14772                 \ "STANDARD_IA"
14773               5 / One Zone Infrequent Access storage class
14774                 \ "ONEZONE_IA"
14775               6 / Glacier storage class
14776                 \ "GLACIER"
14777               7 / Glacier Deep Archive storage class
14778                 \ "DEEP_ARCHIVE"
14779               8 / Intelligent-Tiering storage class
14780                 \ "INTELLIGENT_TIERING"
14781              storage_class> 1
14782              Remote config
14783              --------------------
14784              [remote]
14785              type = s3
14786              provider = AWS
14787              env_auth = false
14788              access_key_id = XXX
14789              secret_access_key = YYY
14790              region = us-east-1
14791              endpoint =
14792              location_constraint =
14793              acl = private
14794              server_side_encryption =
14795              storage_class =
14796              --------------------
14797              y) Yes this is OK
14798              e) Edit this remote
14799              d) Delete this remote
14800              y/e/d>
14801
14802   Modified time
14803       The  modified  time  is  stored  as   metadata   on   the   object   as
14804       X-Amz-Meta-Mtime as floating point since the epoch, accurate to 1 ns.
14805
14806       If  the  modification  time  needs to be updated rclone will attempt to
14807       perform a server side copy to update the modification if the object can
14808       be  copied in a single part.  In the case the object is larger than 5Gb
14809       or is in Glacier or Glacier Deep Archive storage the object will be up‐
14810       loaded rather than copied.
14811
14812       Note that reading this from the object takes an additional HEAD request
14813       as the metadata isn't returned in object listings.
14814
14815   Reducing costs
14816   Avoiding HEAD requests to read the modification time
14817       By default rclone will use the modification time of objects  stored  in
14818       S3  for syncing.  This is stored in object metadata which unfortunately
14819       takes an extra HEAD request to read which can be expensive (in time and
14820       money).
14821
14822       The  modification  time  is used by default for all operations that re‐
14823       quire checking the time a file was last updated.  It allows  rclone  to
14824       treat  the remote more like a true filesystem, but it is inefficient on
14825       S3 because it requires an extra API call to retrieve the metadata.
14826
14827       The extra API calls can be avoided when syncing (using rclone  sync  or
14828       rclone copy) in a few different ways, each with its own tradeoffs.
14829
14830       • --size-only
14831
14832         • Only checks the size of files.
14833
14834         • Uses no extra transactions.
14835
14836         • If  the  file  doesn't  change size then rclone won't detect it has
14837           changed.
14838
14839         • rclone sync --size-only /path/to/source s3:bucket
14840
14841       • --checksum
14842
14843         • Checks the size and MD5 checksum of files.
14844
14845         • Uses no extra transactions.
14846
14847         • The most accurate detection of changes possible.
14848
14849         • Will cause the source to read an MD5 checksum which, if it is a lo‐
14850           cal disk, will cause lots of disk activity.
14851
14852         • If  the  source and destination are both S3 this is the recommended
14853           flag to use for maximum efficiency.
14854
14855         • rclone sync --checksum /path/to/source s3:bucket
14856
14857       • --update --use-server-modtime
14858
14859         • Uses no extra transactions.
14860
14861         • Modification time becomes the time the object was uploaded.
14862
14863         • For many operations this is sufficient to determine if it needs up‐
14864           loading.
14865
14866         • Using  --update  along  with --use-server-modtime, avoids the extra
14867           API call and uploads files whose local modification time  is  newer
14868           than the time it was last uploaded.
14869
14870         • Files  created  with  timestamps  in the past will be missed by the
14871           sync.
14872
14873         • rclone sync --update --use-server-modtime /path/to/source s3:bucket
14874
14875       These flags can and should be used in combination  with  --fast-list  -
14876       see below.
14877
14878       If  using  rclone  mount or any command using the VFS (eg rclone serve)
14879       commands then you might want to consider using the VFS  flag  --no-mod‐
14880       time which will stop rclone reading the modification time for every ob‐
14881       ject.  You could also use --use-server-modtime if you  are  happy  with
14882       the modification times of the objects being the time of upload.
14883
14884   Avoiding GET requests to read directory listings
14885       Rclone's default directory traversal is to process each directory indi‐
14886       vidually.   This  takes  one  API  call  per  directory.    Using   the
14887       --fast-list  flag  will read all info about the the objects into memory
14888       first using a smaller number of API calls (one per 1000 objects).   See
14889       the rclone docs (https://rclone.org/docs/#fast-list) for more details.
14890
14891              rclone sync --fast-list --checksum /path/to/source s3:bucket
14892
14893       --fast-list  trades  off  API  transactions for memory use.  As a rough
14894       guide rclone uses 1k of memory per object stored, so using  --fast-list
14895       on a sync of a million objects will use roughly 1 GiB of RAM.
14896
14897       If  you  are only copying a small number of files into a big repository
14898       then using --no-traverse is a good idea.  This finds  objects  directly
14899       instead of through directory listings.  You can do a "top-up" sync very
14900       cheaply by using --max-age and --no-traverse to copy only recent files,
14901       eg
14902
14903              rclone copy --min-age 24h --no-traverse /path/to/source s3:bucket
14904
14905       You'd then do a full rclone sync less often.
14906
14907       Note that --fast-list isn't required in the top-up sync.
14908
14909   Avoiding HEAD requests after PUT
14910       By  default  rclone will HEAD every object it uploads.  It does this to
14911       check the object got uploaded correctly.
14912
14913       You can disable this with the --s3-no-head option - see there for  more
14914       details.
14915
14916       Setting this flag increases the chance for undetected upload failures.
14917
14918   Hashes
14919       For  small objects which weren't uploaded as multipart uploads (objects
14920       sized below --s3-upload-cutoff if uploaded with rclone) rclone uses the
14921       ETag: header as an MD5 checksum.
14922
14923       However  for  objects  which were uploaded as multipart uploads or with
14924       server side encryption (SSE-AWS or SSE-C) the ETag header is no  longer
14925       the MD5 sum of the data, so rclone adds an additional piece of metadata
14926       X-Amz-Meta-Md5chksum which is a base64 encoded MD5 hash  (in  the  same
14927       format as is required for Content-MD5).
14928
14929       For  large objects, calculating this hash can take some time so the ad‐
14930       dition of this hash can be disabled with  --s3-disable-checksum.   This
14931       will mean that these objects do not have an MD5 checksum.
14932
14933       Note that reading this from the object takes an additional HEAD request
14934       as the metadata isn't returned in object listings.
14935
14936   Cleanup
14937       If you run rclone cleanup s3:bucket then it  will  remove  all  pending
14938       multipart  uploads older than 24 hours.  You can use the -i flag to see
14939       exactly what it will do.  If you want more control over the expiry date
14940       then  run  rclone backend cleanup s3:bucket -o max-age=1h to expire all
14941       uploads older than one hour.  You can use  rclone  backend  list-multi‐
14942       part-uploads s3:bucket to see the pending multipart uploads.
14943
14944   Restricted filename characters
14945       S3 allows any valid UTF-8 string as a key.
14946
14947       Invalid  UTF-8 bytes will be replaced (https://rclone.org/overview/#in‐
14948       valid-utf8), as they can't be used in XML.
14949
14950       The following characters are replaced since these are problematic  when
14951       dealing with the REST API:
14952
14953       Character   Value   Replacement
14954       ────────────────────────────────
14955       NUL         0x00         ␀
14956       /           0x2F        /
14957
14958       The  encoding  will  also encode these file names as they don't seem to
14959       work with the SDK properly:
14960
14961       File name   Replacement
14962       ────────────────────────
14963       .               .
14964       ..             ..
14965
14966   Multipart uploads
14967       rclone supports multipart uploads with S3 which means that it  can  up‐
14968       load files bigger than 5 GiB.
14969
14970       Note  that  files uploaded both with multipart upload and through crypt
14971       remotes do not have MD5 sums.
14972
14973       rclone switches from single part uploads to multipart  uploads  at  the
14974       point  specified by --s3-upload-cutoff.  This can be a maximum of 5 GiB
14975       and a minimum of 0 (ie always upload multipart files).
14976
14977       The  chunk  sizes  used  in  the  multipart  upload  are  specified  by
14978       --s3-chunk-size and the number of chunks uploaded concurrently is spec‐
14979       ified by --s3-upload-concurrency.
14980
14981       Multipart uploads will  use  --transfers  *  --s3-upload-concurrency  *
14982       --s3-chunk-size  extra  memory.   Single  part uploads to not use extra
14983       memory.
14984
14985       Single part transfers can be faster than multipart transfers or  slower
14986       depending  on  your latency from S3 - the more latency, the more likely
14987       single part transfers will be faster.
14988
14989       Increasing --s3-upload-concurrency will increase throughput (8 would be
14990       a   sensible  value)  and  increasing  --s3-chunk-size  also  increases
14991       throughput (16M would be sensible).  Increasing either  of  these  will
14992       use  more  memory.   The default values are high enough to gain most of
14993       the possible performance without using too much memory.
14994
14995   Buckets and Regions
14996       With Amazon S3 you can list buckets (rclone lsd) using any region,  but
14997       you can only access the content of a bucket from the region it was cre‐
14998       ated in.  If you attempt to access a bucket from the wrong region,  you
14999       will get an error, incorrect region, the bucket is not in 'XXX' region.
15000
15001   Authentication
15002       There  are  a number of ways to supply rclone with a set of AWS creden‐
15003       tials, with and without using the environment.
15004
15005       The different authentication methods are tried in this order:
15006
15007       • Directly in the rclone configuration file (env_auth =  false  in  the
15008         config file):
15009
15010         • access_key_id and secret_access_key are required.
15011
15012         • session_token can be optionally set when using AWS STS.
15013
15014       • Runtime configuration (env_auth = true in the config file):
15015
15016         • Export the following environment variables before running rclone:
15017
15018           • Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
15019
15020           • Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
15021
15022           • Session Token: AWS_SESSION_TOKEN (optional)
15023
15024         • Or,   use  a  named  profile  (https://docs.aws.amazon.com/cli/lat
15025           est/userguide/cli-multiple-profiles.html):
15026
15027           • Profile files are standard files used by AWS CLI tools
15028
15029           • By default it will use the profile in your home  directory  (e.g.
15030             ~/.aws/credentials  on unix based systems) file and the "default"
15031             profile, to change set these environment variables:
15032
15033             • AWS_SHARED_CREDENTIALS_FILE to control which file.
15034
15035             • AWS_PROFILE to control which profile to use.
15036
15037         • Or, run rclone in an ECS task with an IAM role (AWS only).
15038
15039         • Or, run rclone on an EC2 instance with an IAM role (AWS only).
15040
15041         • Or, run rclone in an EKS pod with an IAM role  that  is  associated
15042           with a service account (AWS only).
15043
15044       If  none of these option actually end up providing rclone with AWS cre‐
15045       dentials then S3 interaction will be non-authenticated (see below).
15046
15047   S3 Permissions
15048       When using the sync subcommand of rclone the following minimum  permis‐
15049       sions are required to be available on the bucket being written to:
15050
15051       • ListBucket
15052
15053       • DeleteObject
15054
15055       • GetObject
15056
15057       • PutObject
15058
15059       • PutObjectACL
15060
15061       When  using  the lsd subcommand, the ListAllMyBuckets permission is re‐
15062       quired.
15063
15064       Example policy:
15065
15066              {
15067                  "Version": "2012-10-17",
15068                  "Statement": [
15069                      {
15070                          "Effect": "Allow",
15071                          "Principal": {
15072                              "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
15073                          },
15074                          "Action": [
15075                              "s3:ListBucket",
15076                              "s3:DeleteObject",
15077                              "s3:GetObject",
15078                              "s3:PutObject",
15079                              "s3:PutObjectAcl"
15080                          ],
15081                          "Resource": [
15082                            "arn:aws:s3:::BUCKET_NAME/*",
15083                            "arn:aws:s3:::BUCKET_NAME"
15084                          ]
15085                      },
15086                      {
15087                          "Effect": "Allow",
15088                          "Action": "s3:ListAllMyBuckets",
15089                          "Resource": "arn:aws:s3:::*"
15090                      }
15091                  ]
15092              }
15093
15094       Notes on above:
15095
15096       1. This is a policy that can be used when creating bucket.  It  assumes
15097          that USER_NAME has been created.
15098
15099       2. The  Resource  entry must include both resource ARNs, as one implies
15100          the bucket and the other implies the bucket's objects.
15101
15102       For       reference,       here's       an        Ansible        script
15103       (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b)
15104       that will generate one or more buckets that will work with rclone sync.
15105
15106   Key Management System (KMS)
15107       If you are using server-side encryption with KMS  then  you  must  make
15108       sure  rclone is configured with server_side_encryption = aws:kms other‐
15109       wise you will find you can't transfer small objects - these will create
15110       checksum errors.
15111
15112   Glacier and Glacier Deep Archive
15113       You  can  upload  objects using the glacier storage class or transition
15114       them  to  glacier  using  a  lifecycle   policy   (http://docs.aws.ama
15115       zon.com/AmazonS3/latest/user-guide/create-lifecycle.html).   The bucket
15116       can still be synced or copied into normally, but if rclone tries to ac‐
15117       cess data from the glacier storage class you will see an error like be‐
15118       low.
15119
15120              2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
15121
15122       In this  case  you  need  to  restore  (http://docs.aws.amazon.com/Ama
15123       zonS3/latest/user-guide/restore-archived-objects.html) the object(s) in
15124       question before using rclone.
15125
15126       Note that rclone only speaks the S3 API it does not speak  the  Glacier
15127       Vault API, so rclone cannot directly access Glacier Vaults.
15128
15129   Standard options
15130       Here are the standard options specific to s3 (Amazon S3 Compliant Stor‐
15131       age Providers including AWS, Alibaba, Ceph, Digital  Ocean,  Dreamhost,
15132       IBM COS, Minio, SeaweedFS, and Tencent COS).
15133
15134   --s3-provider
15135       Choose your S3 provider.
15136
15137       • Config: provider
15138
15139       • Env Var: RCLONE_S3_PROVIDER
15140
15141       • Type: string
15142
15143       • Default: ""
15144
15145       • Examples:
15146
15147         • "AWS"
15148
15149           • Amazon Web Services (AWS) S3
15150
15151         • "Alibaba"
15152
15153           • Alibaba Cloud Object Storage System (OSS) formerly Aliyun
15154
15155         • "Ceph"
15156
15157           • Ceph Object Storage
15158
15159         • "DigitalOcean"
15160
15161           • Digital Ocean Spaces
15162
15163         • "Dreamhost"
15164
15165           • Dreamhost DreamObjects
15166
15167         • "IBMCOS"
15168
15169           • IBM COS S3
15170
15171         • "Minio"
15172
15173           • Minio Object Storage
15174
15175         • "Netease"
15176
15177           • Netease Object Storage (NOS)
15178
15179         • "Scaleway"
15180
15181           • Scaleway Object Storage
15182
15183         • "SeaweedFS"
15184
15185           • SeaweedFS S3
15186
15187         • "StackPath"
15188
15189           • StackPath Object Storage
15190
15191         • "TencentCOS"
15192
15193           • Tencent Cloud Object Storage (COS)
15194
15195         • "Wasabi"
15196
15197           • Wasabi Object Storage
15198
15199         • "Other"
15200
15201           • Any other S3 compatible provider
15202
15203   --s3-env-auth
15204       Get AWS credentials from runtime (environment variables or EC2/ECS meta
15205       data if no env vars).
15206
15207       Only applies if access_key_id and secret_access_key is blank.
15208
15209       • Config: env_auth
15210
15211       • Env Var: RCLONE_S3_ENV_AUTH
15212
15213       • Type: bool
15214
15215       • Default: false
15216
15217       • Examples:
15218
15219         • "false"
15220
15221           • Enter AWS credentials in the next step.
15222
15223         • "true"
15224
15225           • Get AWS credentials from the environment (env vars or IAM).
15226
15227   --s3-access-key-id
15228       AWS Access Key ID.
15229
15230       Leave blank for anonymous access or runtime credentials.
15231
15232       • Config: access_key_id
15233
15234       • Env Var: RCLONE_S3_ACCESS_KEY_ID
15235
15236       • Type: string
15237
15238       • Default: ""
15239
15240   --s3-secret-access-key
15241       AWS Secret Access Key (password).
15242
15243       Leave blank for anonymous access or runtime credentials.
15244
15245       • Config: secret_access_key
15246
15247       • Env Var: RCLONE_S3_SECRET_ACCESS_KEY
15248
15249       • Type: string
15250
15251       • Default: ""
15252
15253   --s3-region
15254       Region to connect to.
15255
15256       • Config: region
15257
15258       • Env Var: RCLONE_S3_REGION
15259
15260       • Type: string
15261
15262       • Default: ""
15263
15264       • Examples:
15265
15266         • "us-east-1"
15267
15268           • The default endpoint - a good choice if you are unsure.
15269
15270           • US Region, Northern Virginia, or Pacific Northwest.
15271
15272           • Leave location constraint empty.
15273
15274         • "us-east-2"
15275
15276           • US East (Ohio) Region.
15277
15278           • Needs location constraint us-east-2.
15279
15280         • "us-west-1"
15281
15282           • US West (Northern California) Region.
15283
15284           • Needs location constraint us-west-1.
15285
15286         • "us-west-2"
15287
15288           • US West (Oregon) Region.
15289
15290           • Needs location constraint us-west-2.
15291
15292         • "ca-central-1"
15293
15294           • Canada (Central) Region.
15295
15296           • Needs location constraint ca-central-1.
15297
15298         • "eu-west-1"
15299
15300           • EU (Ireland) Region.
15301
15302           • Needs location constraint EU or eu-west-1.
15303
15304         • "eu-west-2"
15305
15306           • EU (London) Region.
15307
15308           • Needs location constraint eu-west-2.
15309
15310         • "eu-west-3"
15311
15312           • EU (Paris) Region.
15313
15314           • Needs location constraint eu-west-3.
15315
15316         • "eu-north-1"
15317
15318           • EU (Stockholm) Region.
15319
15320           • Needs location constraint eu-north-1.
15321
15322         • "eu-south-1"
15323
15324           • EU (Milan) Region.
15325
15326           • Needs location constraint eu-south-1.
15327
15328         • "eu-central-1"
15329
15330           • EU (Frankfurt) Region.
15331
15332           • Needs location constraint eu-central-1.
15333
15334         • "ap-southeast-1"
15335
15336           • Asia Pacific (Singapore) Region.
15337
15338           • Needs location constraint ap-southeast-1.
15339
15340         • "ap-southeast-2"
15341
15342           • Asia Pacific (Sydney) Region.
15343
15344           • Needs location constraint ap-southeast-2.
15345
15346         • "ap-northeast-1"
15347
15348           • Asia Pacific (Tokyo) Region.
15349
15350           • Needs location constraint ap-northeast-1.
15351
15352         • "ap-northeast-2"
15353
15354           • Asia Pacific (Seoul).
15355
15356           • Needs location constraint ap-northeast-2.
15357
15358         • "ap-northeast-3"
15359
15360           • Asia Pacific (Osaka-Local).
15361
15362           • Needs location constraint ap-northeast-3.
15363
15364         • "ap-south-1"
15365
15366           • Asia Pacific (Mumbai).
15367
15368           • Needs location constraint ap-south-1.
15369
15370         • "ap-east-1"
15371
15372           • Asia Pacific (Hong Kong) Region.
15373
15374           • Needs location constraint ap-east-1.
15375
15376         • "sa-east-1"
15377
15378           • South America (Sao Paulo) Region.
15379
15380           • Needs location constraint sa-east-1.
15381
15382         • "me-south-1"
15383
15384           • Middle East (Bahrain) Region.
15385
15386           • Needs location constraint me-south-1.
15387
15388         • "af-south-1"
15389
15390           • Africa (Cape Town) Region.
15391
15392           • Needs location constraint af-south-1.
15393
15394         • "cn-north-1"
15395
15396           • China (Beijing) Region.
15397
15398           • Needs location constraint cn-north-1.
15399
15400         • "cn-northwest-1"
15401
15402           • China (Ningxia) Region.
15403
15404           • Needs location constraint cn-northwest-1.
15405
15406         • "us-gov-east-1"
15407
15408           • AWS GovCloud (US-East) Region.
15409
15410           • Needs location constraint us-gov-east-1.
15411
15412         • "us-gov-west-1"
15413
15414           • AWS GovCloud (US) Region.
15415
15416           • Needs location constraint us-gov-west-1.
15417
15418   --s3-region
15419       Region to connect to.
15420
15421       • Config: region
15422
15423       • Env Var: RCLONE_S3_REGION
15424
15425       • Type: string
15426
15427       • Default: ""
15428
15429       • Examples:
15430
15431         • "nl-ams"
15432
15433           • Amsterdam, The Netherlands
15434
15435         • "fr-par"
15436
15437           • Paris, France
15438
15439   --s3-region
15440       Region to connect to.
15441
15442       Leave blank if you are using an S3 clone and you don't have a region.
15443
15444       • Config: region
15445
15446       • Env Var: RCLONE_S3_REGION
15447
15448       • Type: string
15449
15450       • Default: ""
15451
15452       • Examples:
15453
15454         • ""
15455
15456           • Use this if unsure.
15457
15458           • Will use v4 signatures and an empty region.
15459
15460         • "other-v2-signature"
15461
15462           • Use this only if v4 signatures don't work.
15463
15464           • E.g.  pre Jewel/v10 CEPH.
15465
15466   --s3-endpoint
15467       Endpoint for S3 API.
15468
15469       Leave blank if using AWS to use the default endpoint for the region.
15470
15471       • Config: endpoint
15472
15473       • Env Var: RCLONE_S3_ENDPOINT
15474
15475       • Type: string
15476
15477       • Default: ""
15478
15479   --s3-endpoint
15480       Endpoint for IBM COS S3 API.
15481
15482       Specify if using an IBM COS On Premise.
15483
15484       • Config: endpoint
15485
15486       • Env Var: RCLONE_S3_ENDPOINT
15487
15488       • Type: string
15489
15490       • Default: ""
15491
15492       • Examples:
15493
15494         • "s3.us.cloud-object-storage.appdomain.cloud"
15495
15496           • US Cross Region Endpoint
15497
15498         • "s3.dal.us.cloud-object-storage.appdomain.cloud"
15499
15500           • US Cross Region Dallas Endpoint
15501
15502         • "s3.wdc.us.cloud-object-storage.appdomain.cloud"
15503
15504           • US Cross Region Washington DC Endpoint
15505
15506         • "s3.sjc.us.cloud-object-storage.appdomain.cloud"
15507
15508           • US Cross Region San Jose Endpoint
15509
15510         • "s3.private.us.cloud-object-storage.appdomain.cloud"
15511
15512           • US Cross Region Private Endpoint
15513
15514         • "s3.private.dal.us.cloud-object-storage.appdomain.cloud"
15515
15516           • US Cross Region Dallas Private Endpoint
15517
15518         • "s3.private.wdc.us.cloud-object-storage.appdomain.cloud"
15519
15520           • US Cross Region Washington DC Private Endpoint
15521
15522         • "s3.private.sjc.us.cloud-object-storage.appdomain.cloud"
15523
15524           • US Cross Region San Jose Private Endpoint
15525
15526         • "s3.us-east.cloud-object-storage.appdomain.cloud"
15527
15528           • US Region East Endpoint
15529
15530         • "s3.private.us-east.cloud-object-storage.appdomain.cloud"
15531
15532           • US Region East Private Endpoint
15533
15534         • "s3.us-south.cloud-object-storage.appdomain.cloud"
15535
15536           • US Region South Endpoint
15537
15538         • "s3.private.us-south.cloud-object-storage.appdomain.cloud"
15539
15540           • US Region South Private Endpoint
15541
15542         • "s3.eu.cloud-object-storage.appdomain.cloud"
15543
15544           • EU Cross Region Endpoint
15545
15546         • "s3.fra.eu.cloud-object-storage.appdomain.cloud"
15547
15548           • EU Cross Region Frankfurt Endpoint
15549
15550         • "s3.mil.eu.cloud-object-storage.appdomain.cloud"
15551
15552           • EU Cross Region Milan Endpoint
15553
15554         • "s3.ams.eu.cloud-object-storage.appdomain.cloud"
15555
15556           • EU Cross Region Amsterdam Endpoint
15557
15558         • "s3.private.eu.cloud-object-storage.appdomain.cloud"
15559
15560           • EU Cross Region Private Endpoint
15561
15562         • "s3.private.fra.eu.cloud-object-storage.appdomain.cloud"
15563
15564           • EU Cross Region Frankfurt Private Endpoint
15565
15566         • "s3.private.mil.eu.cloud-object-storage.appdomain.cloud"
15567
15568           • EU Cross Region Milan Private Endpoint
15569
15570         • "s3.private.ams.eu.cloud-object-storage.appdomain.cloud"
15571
15572           • EU Cross Region Amsterdam Private Endpoint
15573
15574         • "s3.eu-gb.cloud-object-storage.appdomain.cloud"
15575
15576           • Great Britain Endpoint
15577
15578         • "s3.private.eu-gb.cloud-object-storage.appdomain.cloud"
15579
15580           • Great Britain Private Endpoint
15581
15582         • "s3.eu-de.cloud-object-storage.appdomain.cloud"
15583
15584           • EU Region DE Endpoint
15585
15586         • "s3.private.eu-de.cloud-object-storage.appdomain.cloud"
15587
15588           • EU Region DE Private Endpoint
15589
15590         • "s3.ap.cloud-object-storage.appdomain.cloud"
15591
15592           • APAC Cross Regional Endpoint
15593
15594         • "s3.tok.ap.cloud-object-storage.appdomain.cloud"
15595
15596           • APAC Cross Regional Tokyo Endpoint
15597
15598         • "s3.hkg.ap.cloud-object-storage.appdomain.cloud"
15599
15600           • APAC Cross Regional HongKong Endpoint
15601
15602         • "s3.seo.ap.cloud-object-storage.appdomain.cloud"
15603
15604           • APAC Cross Regional Seoul Endpoint
15605
15606         • "s3.private.ap.cloud-object-storage.appdomain.cloud"
15607
15608           • APAC Cross Regional Private Endpoint
15609
15610         • "s3.private.tok.ap.cloud-object-storage.appdomain.cloud"
15611
15612           • APAC Cross Regional Tokyo Private Endpoint
15613
15614         • "s3.private.hkg.ap.cloud-object-storage.appdomain.cloud"
15615
15616           • APAC Cross Regional HongKong Private Endpoint
15617
15618         • "s3.private.seo.ap.cloud-object-storage.appdomain.cloud"
15619
15620           • APAC Cross Regional Seoul Private Endpoint
15621
15622         • "s3.jp-tok.cloud-object-storage.appdomain.cloud"
15623
15624           • APAC Region Japan Endpoint
15625
15626         • "s3.private.jp-tok.cloud-object-storage.appdomain.cloud"
15627
15628           • APAC Region Japan Private Endpoint
15629
15630         • "s3.au-syd.cloud-object-storage.appdomain.cloud"
15631
15632           • APAC Region Australia Endpoint
15633
15634         • "s3.private.au-syd.cloud-object-storage.appdomain.cloud"
15635
15636           • APAC Region Australia Private Endpoint
15637
15638         • "s3.ams03.cloud-object-storage.appdomain.cloud"
15639
15640           • Amsterdam Single Site Endpoint
15641
15642         • "s3.private.ams03.cloud-object-storage.appdomain.cloud"
15643
15644           • Amsterdam Single Site Private Endpoint
15645
15646         • "s3.che01.cloud-object-storage.appdomain.cloud"
15647
15648           • Chennai Single Site Endpoint
15649
15650         • "s3.private.che01.cloud-object-storage.appdomain.cloud"
15651
15652           • Chennai Single Site Private Endpoint
15653
15654         • "s3.mel01.cloud-object-storage.appdomain.cloud"
15655
15656           • Melbourne Single Site Endpoint
15657
15658         • "s3.private.mel01.cloud-object-storage.appdomain.cloud"
15659
15660           • Melbourne Single Site Private Endpoint
15661
15662         • "s3.osl01.cloud-object-storage.appdomain.cloud"
15663
15664           • Oslo Single Site Endpoint
15665
15666         • "s3.private.osl01.cloud-object-storage.appdomain.cloud"
15667
15668           • Oslo Single Site Private Endpoint
15669
15670         • "s3.tor01.cloud-object-storage.appdomain.cloud"
15671
15672           • Toronto Single Site Endpoint
15673
15674         • "s3.private.tor01.cloud-object-storage.appdomain.cloud"
15675
15676           • Toronto Single Site Private Endpoint
15677
15678         • "s3.seo01.cloud-object-storage.appdomain.cloud"
15679
15680           • Seoul Single Site Endpoint
15681
15682         • "s3.private.seo01.cloud-object-storage.appdomain.cloud"
15683
15684           • Seoul Single Site Private Endpoint
15685
15686         • "s3.mon01.cloud-object-storage.appdomain.cloud"
15687
15688           • Montreal Single Site Endpoint
15689
15690         • "s3.private.mon01.cloud-object-storage.appdomain.cloud"
15691
15692           • Montreal Single Site Private Endpoint
15693
15694         • "s3.mex01.cloud-object-storage.appdomain.cloud"
15695
15696           • Mexico Single Site Endpoint
15697
15698         • "s3.private.mex01.cloud-object-storage.appdomain.cloud"
15699
15700           • Mexico Single Site Private Endpoint
15701
15702         • "s3.sjc04.cloud-object-storage.appdomain.cloud"
15703
15704           • San Jose Single Site Endpoint
15705
15706         • "s3.private.sjc04.cloud-object-storage.appdomain.cloud"
15707
15708           • San Jose Single Site Private Endpoint
15709
15710         • "s3.mil01.cloud-object-storage.appdomain.cloud"
15711
15712           • Milan Single Site Endpoint
15713
15714         • "s3.private.mil01.cloud-object-storage.appdomain.cloud"
15715
15716           • Milan Single Site Private Endpoint
15717
15718         • "s3.hkg02.cloud-object-storage.appdomain.cloud"
15719
15720           • Hong Kong Single Site Endpoint
15721
15722         • "s3.private.hkg02.cloud-object-storage.appdomain.cloud"
15723
15724           • Hong Kong Single Site Private Endpoint
15725
15726         • "s3.par01.cloud-object-storage.appdomain.cloud"
15727
15728           • Paris Single Site Endpoint
15729
15730         • "s3.private.par01.cloud-object-storage.appdomain.cloud"
15731
15732           • Paris Single Site Private Endpoint
15733
15734         • "s3.sng01.cloud-object-storage.appdomain.cloud"
15735
15736           • Singapore Single Site Endpoint
15737
15738         • "s3.private.sng01.cloud-object-storage.appdomain.cloud"
15739
15740           • Singapore Single Site Private Endpoint
15741
15742   --s3-endpoint
15743       Endpoint for OSS API.
15744
15745       • Config: endpoint
15746
15747       • Env Var: RCLONE_S3_ENDPOINT
15748
15749       • Type: string
15750
15751       • Default: ""
15752
15753       • Examples:
15754
15755         • "oss-accelerate.aliyuncs.com"
15756
15757           • Global Accelerate
15758
15759         • "oss-accelerate-overseas.aliyuncs.com"
15760
15761           • Global Accelerate (outside mainland China)
15762
15763         • "oss-cn-hangzhou.aliyuncs.com"
15764
15765           • East China 1 (Hangzhou)
15766
15767         • "oss-cn-shanghai.aliyuncs.com"
15768
15769           • East China 2 (Shanghai)
15770
15771         • "oss-cn-qingdao.aliyuncs.com"
15772
15773           • North China 1 (Qingdao)
15774
15775         • "oss-cn-beijing.aliyuncs.com"
15776
15777           • North China 2 (Beijing)
15778
15779         • "oss-cn-zhangjiakou.aliyuncs.com"
15780
15781           • North China 3 (Zhangjiakou)
15782
15783         • "oss-cn-huhehaote.aliyuncs.com"
15784
15785           • North China 5 (Hohhot)
15786
15787         • "oss-cn-wulanchabu.aliyuncs.com"
15788
15789           • North China 6 (Ulanqab)
15790
15791         • "oss-cn-shenzhen.aliyuncs.com"
15792
15793           • South China 1 (Shenzhen)
15794
15795         • "oss-cn-heyuan.aliyuncs.com"
15796
15797           • South China 2 (Heyuan)
15798
15799         • "oss-cn-guangzhou.aliyuncs.com"
15800
15801           • South China 3 (Guangzhou)
15802
15803         • "oss-cn-chengdu.aliyuncs.com"
15804
15805           • West China 1 (Chengdu)
15806
15807         • "oss-cn-hongkong.aliyuncs.com"
15808
15809           • Hong Kong (Hong Kong)
15810
15811         • "oss-us-west-1.aliyuncs.com"
15812
15813           • US West 1 (Silicon Valley)
15814
15815         • "oss-us-east-1.aliyuncs.com"
15816
15817           • US East 1 (Virginia)
15818
15819         • "oss-ap-southeast-1.aliyuncs.com"
15820
15821           • Southeast Asia Southeast 1 (Singapore)
15822
15823         • "oss-ap-southeast-2.aliyuncs.com"
15824
15825           • Asia Pacific Southeast 2 (Sydney)
15826
15827         • "oss-ap-southeast-3.aliyuncs.com"
15828
15829           • Southeast Asia Southeast 3 (Kuala Lumpur)
15830
15831         • "oss-ap-southeast-5.aliyuncs.com"
15832
15833           • Asia Pacific Southeast 5 (Jakarta)
15834
15835         • "oss-ap-northeast-1.aliyuncs.com"
15836
15837           • Asia Pacific Northeast 1 (Japan)
15838
15839         • "oss-ap-south-1.aliyuncs.com"
15840
15841           • Asia Pacific South 1 (Mumbai)
15842
15843         • "oss-eu-central-1.aliyuncs.com"
15844
15845           • Central Europe 1 (Frankfurt)
15846
15847         • "oss-eu-west-1.aliyuncs.com"
15848
15849           • West Europe (London)
15850
15851         • "oss-me-east-1.aliyuncs.com"
15852
15853           • Middle East 1 (Dubai)
15854
15855   --s3-endpoint
15856       Endpoint for Scaleway Object Storage.
15857
15858       • Config: endpoint
15859
15860       • Env Var: RCLONE_S3_ENDPOINT
15861
15862       • Type: string
15863
15864       • Default: ""
15865
15866       • Examples:
15867
15868         • "s3.nl-ams.scw.cloud"
15869
15870           • Amsterdam Endpoint
15871
15872         • "s3.fr-par.scw.cloud"
15873
15874           • Paris Endpoint
15875
15876   --s3-endpoint
15877       Endpoint for StackPath Object Storage.
15878
15879       • Config: endpoint
15880
15881       • Env Var: RCLONE_S3_ENDPOINT
15882
15883       • Type: string
15884
15885       • Default: ""
15886
15887       • Examples:
15888
15889         • "s3.us-east-2.stackpathstorage.com"
15890
15891           • US East Endpoint
15892
15893         • "s3.us-west-1.stackpathstorage.com"
15894
15895           • US West Endpoint
15896
15897         • "s3.eu-central-1.stackpathstorage.com"
15898
15899           • EU Endpoint
15900
15901   --s3-endpoint
15902       Endpoint for Tencent COS API.
15903
15904       • Config: endpoint
15905
15906       • Env Var: RCLONE_S3_ENDPOINT
15907
15908       • Type: string
15909
15910       • Default: ""
15911
15912       • Examples:
15913
15914         • "cos.ap-beijing.myqcloud.com"
15915
15916           • Beijing Region
15917
15918         • "cos.ap-nanjing.myqcloud.com"
15919
15920           • Nanjing Region
15921
15922         • "cos.ap-shanghai.myqcloud.com"
15923
15924           • Shanghai Region
15925
15926         • "cos.ap-guangzhou.myqcloud.com"
15927
15928           • Guangzhou Region
15929
15930         • "cos.ap-nanjing.myqcloud.com"
15931
15932           • Nanjing Region
15933
15934         • "cos.ap-chengdu.myqcloud.com"
15935
15936           • Chengdu Region
15937
15938         • "cos.ap-chongqing.myqcloud.com"
15939
15940           • Chongqing Region
15941
15942         • "cos.ap-hongkong.myqcloud.com"
15943
15944           • Hong Kong (China) Region
15945
15946         • "cos.ap-singapore.myqcloud.com"
15947
15948           • Singapore Region
15949
15950         • "cos.ap-mumbai.myqcloud.com"
15951
15952           • Mumbai Region
15953
15954         • "cos.ap-seoul.myqcloud.com"
15955
15956           • Seoul Region
15957
15958         • "cos.ap-bangkok.myqcloud.com"
15959
15960           • Bangkok Region
15961
15962         • "cos.ap-tokyo.myqcloud.com"
15963
15964           • Tokyo Region
15965
15966         • "cos.na-siliconvalley.myqcloud.com"
15967
15968           • Silicon Valley Region
15969
15970         • "cos.na-ashburn.myqcloud.com"
15971
15972           • Virginia Region
15973
15974         • "cos.na-toronto.myqcloud.com"
15975
15976           • Toronto Region
15977
15978         • "cos.eu-frankfurt.myqcloud.com"
15979
15980           • Frankfurt Region
15981
15982         • "cos.eu-moscow.myqcloud.com"
15983
15984           • Moscow Region
15985
15986         • "cos.accelerate.myqcloud.com"
15987
15988           • Use Tencent COS Accelerate Endpoint
15989
15990   --s3-endpoint
15991       Endpoint for S3 API.
15992
15993       Required when using an S3 clone.
15994
15995       • Config: endpoint
15996
15997       • Env Var: RCLONE_S3_ENDPOINT
15998
15999       • Type: string
16000
16001       • Default: ""
16002
16003       • Examples:
16004
16005         • "objects-us-east-1.dream.io"
16006
16007           • Dream Objects endpoint
16008
16009         • "nyc3.digitaloceanspaces.com"
16010
16011           • Digital Ocean Spaces New York 3
16012
16013         • "ams3.digitaloceanspaces.com"
16014
16015           • Digital Ocean Spaces Amsterdam 3
16016
16017         • "sgp1.digitaloceanspaces.com"
16018
16019           • Digital Ocean Spaces Singapore 1
16020
16021         • "localhost:8333"
16022
16023           • SeaweedFS S3 localhost
16024
16025         • "s3.wasabisys.com"
16026
16027           • Wasabi US East endpoint
16028
16029         • "s3.us-west-1.wasabisys.com"
16030
16031           • Wasabi US West endpoint
16032
16033         • "s3.eu-central-1.wasabisys.com"
16034
16035           • Wasabi EU Central endpoint
16036
16037         • "s3.ap-northeast-1.wasabisys.com"
16038
16039           • Wasabi AP Northeast endpoint
16040
16041   --s3-location-constraint
16042       Location constraint - must be set to match the Region.
16043
16044       Used when creating buckets only.
16045
16046       • Config: location_constraint
16047
16048       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
16049
16050       • Type: string
16051
16052       • Default: ""
16053
16054       • Examples:
16055
16056         • ""
16057
16058           • Empty for US Region, Northern Virginia, or Pacific Northwest
16059
16060         • "us-east-2"
16061
16062           • US East (Ohio) Region
16063
16064         • "us-west-1"
16065
16066           • US West (Northern California) Region
16067
16068         • "us-west-2"
16069
16070           • US West (Oregon) Region
16071
16072         • "ca-central-1"
16073
16074           • Canada (Central) Region
16075
16076         • "eu-west-1"
16077
16078           • EU (Ireland) Region
16079
16080         • "eu-west-2"
16081
16082           • EU (London) Region
16083
16084         • "eu-west-3"
16085
16086           • EU (Paris) Region
16087
16088         • "eu-north-1"
16089
16090           • EU (Stockholm) Region
16091
16092         • "eu-south-1"
16093
16094           • EU (Milan) Region
16095
16096         • "EU"
16097
16098           • EU Region
16099
16100         • "ap-southeast-1"
16101
16102           • Asia Pacific (Singapore) Region
16103
16104         • "ap-southeast-2"
16105
16106           • Asia Pacific (Sydney) Region
16107
16108         • "ap-northeast-1"
16109
16110           • Asia Pacific (Tokyo) Region
16111
16112         • "ap-northeast-2"
16113
16114           • Asia Pacific (Seoul) Region
16115
16116         • "ap-northeast-3"
16117
16118           • Asia Pacific (Osaka-Local) Region
16119
16120         • "ap-south-1"
16121
16122           • Asia Pacific (Mumbai) Region
16123
16124         • "ap-east-1"
16125
16126           • Asia Pacific (Hong Kong) Region
16127
16128         • "sa-east-1"
16129
16130           • South America (Sao Paulo) Region
16131
16132         • "me-south-1"
16133
16134           • Middle East (Bahrain) Region
16135
16136         • "af-south-1"
16137
16138           • Africa (Cape Town) Region
16139
16140         • "cn-north-1"
16141
16142           • China (Beijing) Region
16143
16144         • "cn-northwest-1"
16145
16146           • China (Ningxia) Region
16147
16148         • "us-gov-east-1"
16149
16150           • AWS GovCloud (US-East) Region
16151
16152         • "us-gov-west-1"
16153
16154           • AWS GovCloud (US) Region
16155
16156   --s3-location-constraint
16157       Location constraint - must match endpoint when using IBM Cloud Public.
16158
16159       For on-prem COS, do not make a selection from this list, hit enter.
16160
16161       • Config: location_constraint
16162
16163       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
16164
16165       • Type: string
16166
16167       • Default: ""
16168
16169       • Examples:
16170
16171         • "us-standard"
16172
16173           • US Cross Region Standard
16174
16175         • "us-vault"
16176
16177           • US Cross Region Vault
16178
16179         • "us-cold"
16180
16181           • US Cross Region Cold
16182
16183         • "us-flex"
16184
16185           • US Cross Region Flex
16186
16187         • "us-east-standard"
16188
16189           • US East Region Standard
16190
16191         • "us-east-vault"
16192
16193           • US East Region Vault
16194
16195         • "us-east-cold"
16196
16197           • US East Region Cold
16198
16199         • "us-east-flex"
16200
16201           • US East Region Flex
16202
16203         • "us-south-standard"
16204
16205           • US South Region Standard
16206
16207         • "us-south-vault"
16208
16209           • US South Region Vault
16210
16211         • "us-south-cold"
16212
16213           • US South Region Cold
16214
16215         • "us-south-flex"
16216
16217           • US South Region Flex
16218
16219         • "eu-standard"
16220
16221           • EU Cross Region Standard
16222
16223         • "eu-vault"
16224
16225           • EU Cross Region Vault
16226
16227         • "eu-cold"
16228
16229           • EU Cross Region Cold
16230
16231         • "eu-flex"
16232
16233           • EU Cross Region Flex
16234
16235         • "eu-gb-standard"
16236
16237           • Great Britain Standard
16238
16239         • "eu-gb-vault"
16240
16241           • Great Britain Vault
16242
16243         • "eu-gb-cold"
16244
16245           • Great Britain Cold
16246
16247         • "eu-gb-flex"
16248
16249           • Great Britain Flex
16250
16251         • "ap-standard"
16252
16253           • APAC Standard
16254
16255         • "ap-vault"
16256
16257           • APAC Vault
16258
16259         • "ap-cold"
16260
16261           • APAC Cold
16262
16263         • "ap-flex"
16264
16265           • APAC Flex
16266
16267         • "mel01-standard"
16268
16269           • Melbourne Standard
16270
16271         • "mel01-vault"
16272
16273           • Melbourne Vault
16274
16275         • "mel01-cold"
16276
16277           • Melbourne Cold
16278
16279         • "mel01-flex"
16280
16281           • Melbourne Flex
16282
16283         • "tor01-standard"
16284
16285           • Toronto Standard
16286
16287         • "tor01-vault"
16288
16289           • Toronto Vault
16290
16291         • "tor01-cold"
16292
16293           • Toronto Cold
16294
16295         • "tor01-flex"
16296
16297           • Toronto Flex
16298
16299   --s3-location-constraint
16300       Location constraint - must be set to match the Region.
16301
16302       Leave blank if not sure.  Used when creating buckets only.
16303
16304       • Config: location_constraint
16305
16306       • Env Var: RCLONE_S3_LOCATION_CONSTRAINT
16307
16308       • Type: string
16309
16310       • Default: ""
16311
16312   --s3-acl
16313       Canned ACL used when creating buckets and storing or copying objects.
16314
16315       This ACL is used for creating objects and if bucket_acl isn't set,  for
16316       creating buckets too.
16317
16318       For    more    info   visit   https://docs.aws.amazon.com/AmazonS3/lat
16319       est/dev/acl-overview.html#canned-acl
16320
16321       Note that this ACL is applied when server-side copying  objects  as  S3
16322       doesn't copy the ACL from the source but rather writes a fresh one.
16323
16324       • Config: acl
16325
16326       • Env Var: RCLONE_S3_ACL
16327
16328       • Type: string
16329
16330       • Default: ""
16331
16332       • Examples:
16333
16334         • "default"
16335
16336           • Owner gets Full_CONTROL.
16337
16338           • No one else has access rights (default).
16339
16340         • "private"
16341
16342           • Owner gets FULL_CONTROL.
16343
16344           • No one else has access rights (default).
16345
16346         • "public-read"
16347
16348           • Owner gets FULL_CONTROL.
16349
16350           • The AllUsers group gets READ access.
16351
16352         • "public-read-write"
16353
16354           • Owner gets FULL_CONTROL.
16355
16356           • The AllUsers group gets READ and WRITE access.
16357
16358           • Granting this on a bucket is generally not recommended.
16359
16360         • "authenticated-read"
16361
16362           • Owner gets FULL_CONTROL.
16363
16364           • The AuthenticatedUsers group gets READ access.
16365
16366         • "bucket-owner-read"
16367
16368           • Object owner gets FULL_CONTROL.
16369
16370           • Bucket owner gets READ access.
16371
16372           • If  you specify this canned ACL when creating a bucket, Amazon S3
16373             ignores it.
16374
16375         • "bucket-owner-full-control"
16376
16377           • Both the object owner and the bucket owner get FULL_CONTROL  over
16378             the object.
16379
16380           • If  you specify this canned ACL when creating a bucket, Amazon S3
16381             ignores it.
16382
16383         • "private"
16384
16385           • Owner gets FULL_CONTROL.
16386
16387           • No one else has access rights (default).
16388
16389           • This acl is available on IBM Cloud (Infra), IBM Cloud  (Storage),
16390             On-Premise COS.
16391
16392         • "public-read"
16393
16394           • Owner gets FULL_CONTROL.
16395
16396           • The AllUsers group gets READ access.
16397
16398           • This  acl is available on IBM Cloud (Infra), IBM Cloud (Storage),
16399             On-Premise IBM COS.
16400
16401         • "public-read-write"
16402
16403           • Owner gets FULL_CONTROL.
16404
16405           • The AllUsers group gets READ and WRITE access.
16406
16407           • This acl is available on IBM Cloud (Infra), On-Premise IBM COS.
16408
16409         • "authenticated-read"
16410
16411           • Owner gets FULL_CONTROL.
16412
16413           • The AuthenticatedUsers group gets READ access.
16414
16415           • Not supported on Buckets.
16416
16417           • This acl is available on IBM Cloud  (Infra)  and  On-Premise  IBM
16418             COS.
16419
16420   --s3-server-side-encryption
16421       The  server-side  encryption algorithm used when storing this object in
16422       S3.
16423
16424       • Config: server_side_encryption
16425
16426       • Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
16427
16428       • Type: string
16429
16430       • Default: ""
16431
16432       • Examples:
16433
16434         • ""
16435
16436           • None
16437
16438         • "AES256"
16439
16440           • AES256
16441
16442         • "aws:kms"
16443
16444           • aws:kms
16445
16446   --s3-sse-kms-key-id
16447       If using KMS ID you must provide the ARN of Key.
16448
16449       • Config: sse_kms_key_id
16450
16451       • Env Var: RCLONE_S3_SSE_KMS_KEY_ID
16452
16453       • Type: string
16454
16455       • Default: ""
16456
16457       • Examples:
16458
16459         • ""
16460
16461           • None
16462
16463         • "arn:aws:kms:us-east-1:*"
16464
16465           • arn:aws:kms:*
16466
16467   --s3-storage-class
16468       The storage class to use when storing new objects in S3.
16469
16470       • Config: storage_class
16471
16472       • Env Var: RCLONE_S3_STORAGE_CLASS
16473
16474       • Type: string
16475
16476       • Default: ""
16477
16478       • Examples:
16479
16480         • ""
16481
16482           • Default
16483
16484         • "STANDARD"
16485
16486           • Standard storage class
16487
16488         • "REDUCED_REDUNDANCY"
16489
16490           • Reduced redundancy storage class
16491
16492         • "STANDARD_IA"
16493
16494           • Standard Infrequent Access storage class
16495
16496         • "ONEZONE_IA"
16497
16498           • One Zone Infrequent Access storage class
16499
16500         • "GLACIER"
16501
16502           • Glacier storage class
16503
16504         • "DEEP_ARCHIVE"
16505
16506           • Glacier Deep Archive storage class
16507
16508         • "INTELLIGENT_TIERING"
16509
16510           • Intelligent-Tiering storage class
16511
16512   --s3-storage-class
16513       The storage class to use when storing new objects in OSS.
16514
16515       • Config: storage_class
16516
16517       • Env Var: RCLONE_S3_STORAGE_CLASS
16518
16519       • Type: string
16520
16521       • Default: ""
16522
16523       • Examples:
16524
16525         • ""
16526
16527           • Default
16528
16529         • "STANDARD"
16530
16531           • Standard storage class
16532
16533         • "GLACIER"
16534
16535           • Archive storage mode
16536
16537         • "STANDARD_IA"
16538
16539           • Infrequent access storage mode
16540
16541   --s3-storage-class
16542       The storage class to use when storing new objects in Tencent COS.
16543
16544       • Config: storage_class
16545
16546       • Env Var: RCLONE_S3_STORAGE_CLASS
16547
16548       • Type: string
16549
16550       • Default: ""
16551
16552       • Examples:
16553
16554         • ""
16555
16556           • Default
16557
16558         • "STANDARD"
16559
16560           • Standard storage class
16561
16562         • "ARCHIVE"
16563
16564           • Archive storage mode
16565
16566         • "STANDARD_IA"
16567
16568           • Infrequent access storage mode
16569
16570   --s3-storage-class
16571       The storage class to use when storing new objects in S3.
16572
16573       • Config: storage_class
16574
16575       • Env Var: RCLONE_S3_STORAGE_CLASS
16576
16577       • Type: string
16578
16579       • Default: ""
16580
16581       • Examples:
16582
16583         • ""
16584
16585           • Default.
16586
16587         • "STANDARD"
16588
16589           • The Standard class for any upload.
16590
16591           • Suitable for on-demand content like streaming or CDN.
16592
16593         • "GLACIER"
16594
16595           • Archived storage.
16596
16597           • Prices are lower, but it needs to be restored  first  to  be  ac‐
16598             cessed.
16599
16600   Advanced options
16601       Here are the advanced options specific to s3 (Amazon S3 Compliant Stor‐
16602       age Providers including AWS, Alibaba, Ceph, Digital  Ocean,  Dreamhost,
16603       IBM COS, Minio, SeaweedFS, and Tencent COS).
16604
16605   --s3-bucket-acl
16606       Canned ACL used when creating buckets.
16607
16608       For    more    info   visit   https://docs.aws.amazon.com/AmazonS3/lat
16609       est/dev/acl-overview.html#canned-acl
16610
16611       Note that this ACL is applied when only when creating buckets.   If  it
16612       isn't set then "acl" is used instead.
16613
16614       • Config: bucket_acl
16615
16616       • Env Var: RCLONE_S3_BUCKET_ACL
16617
16618       • Type: string
16619
16620       • Default: ""
16621
16622       • Examples:
16623
16624         • "private"
16625
16626           • Owner gets FULL_CONTROL.
16627
16628           • No one else has access rights (default).
16629
16630         • "public-read"
16631
16632           • Owner gets FULL_CONTROL.
16633
16634           • The AllUsers group gets READ access.
16635
16636         • "public-read-write"
16637
16638           • Owner gets FULL_CONTROL.
16639
16640           • The AllUsers group gets READ and WRITE access.
16641
16642           • Granting this on a bucket is generally not recommended.
16643
16644         • "authenticated-read"
16645
16646           • Owner gets FULL_CONTROL.
16647
16648           • The AuthenticatedUsers group gets READ access.
16649
16650   --s3-requester-pays
16651       Enables requester pays option when interacting with S3 bucket.
16652
16653       • Config: requester_pays
16654
16655       • Env Var: RCLONE_S3_REQUESTER_PAYS
16656
16657       • Type: bool
16658
16659       • Default: false
16660
16661   --s3-sse-customer-algorithm
16662       If  using SSE-C, the server-side encryption algorithm used when storing
16663       this object in S3.
16664
16665       • Config: sse_customer_algorithm
16666
16667       • Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM
16668
16669       • Type: string
16670
16671       • Default: ""
16672
16673       • Examples:
16674
16675         • ""
16676
16677           • None
16678
16679         • "AES256"
16680
16681           • AES256
16682
16683   --s3-sse-customer-key
16684       If using SSE-C you must provide the secret encryption key used  to  en‐
16685       crypt/decrypt your data.
16686
16687       • Config: sse_customer_key
16688
16689       • Env Var: RCLONE_S3_SSE_CUSTOMER_KEY
16690
16691       • Type: string
16692
16693       • Default: ""
16694
16695       • Examples:
16696
16697         • ""
16698
16699           • None
16700
16701   --s3-sse-customer-key-md5
16702       If  using  SSE-C you may provide the secret encryption key MD5 checksum
16703       (optional).
16704
16705       If you leave it  blank,  this  is  calculated  automatically  from  the
16706       sse_customer_key provided.
16707
16708       • Config: sse_customer_key_md5
16709
16710       • Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5
16711
16712       • Type: string
16713
16714       • Default: ""
16715
16716       • Examples:
16717
16718         • ""
16719
16720           • None
16721
16722   --s3-upload-cutoff
16723       Cutoff for switching to chunked upload.
16724
16725       Any  files  larger  than this will be uploaded in chunks of chunk_size.
16726       The minimum is 0 and the maximum is 5 GiB.
16727
16728       • Config: upload_cutoff
16729
16730       • Env Var: RCLONE_S3_UPLOAD_CUTOFF
16731
16732       • Type: SizeSuffix
16733
16734       • Default: 200Mi
16735
16736   --s3-chunk-size
16737       Chunk size to use for uploading.
16738
16739       When uploading files larger than upload_cutoff or  files  with  unknown
16740       size  (e.g.   from  "rclone  rcat"  or  uploaded with "rclone mount" or
16741       google photos or google docs) they will be uploaded  as  multipart  up‐
16742       loads using this chunk size.
16743
16744       Note that "--s3-upload-concurrency" chunks of this size are buffered in
16745       memory per transfer.
16746
16747       If you are transferring large files over high-speed links and you  have
16748       enough memory, then increasing this will speed up the transfers.
16749
16750       Rclone  will  automatically  increase  the  chunk size when uploading a
16751       large file of known size to stay below the 10,000 chunks limit.
16752
16753       Files of unknown size are  uploaded  with  the  configured  chunk_size.
16754       Since  the  default chunk size is 5 MiB and there can be at most 10,000
16755       chunks, this means that by default the maximum size of a file  you  can
16756       stream  upload  is  48  GiB.  If you wish to stream upload larger files
16757       then you will need to increase chunk_size.
16758
16759       • Config: chunk_size
16760
16761       • Env Var: RCLONE_S3_CHUNK_SIZE
16762
16763       • Type: SizeSuffix
16764
16765       • Default: 5Mi
16766
16767   --s3-max-upload-parts
16768       Maximum number of parts in a multipart upload.
16769
16770       This option defines the maximum number of multipart chunks to use  when
16771       doing a multipart upload.
16772
16773       This  can be useful if a service does not support the AWS S3 specifica‐
16774       tion of 10,000 chunks.
16775
16776       Rclone will automatically increase the  chunk  size  when  uploading  a
16777       large file of a known size to stay below this number of chunks limit.
16778
16779       • Config: max_upload_parts
16780
16781       • Env Var: RCLONE_S3_MAX_UPLOAD_PARTS
16782
16783       • Type: int
16784
16785       • Default: 10000
16786
16787   --s3-copy-cutoff
16788       Cutoff for switching to multipart copy.
16789
16790       Any  files  larger than this that need to be server-side copied will be
16791       copied in chunks of this size.
16792
16793       The minimum is 0 and the maximum is 5 GiB.
16794
16795       • Config: copy_cutoff
16796
16797       • Env Var: RCLONE_S3_COPY_CUTOFF
16798
16799       • Type: SizeSuffix
16800
16801       • Default: 4.656Gi
16802
16803   --s3-disable-checksum
16804       Don't store MD5 checksum with object metadata.
16805
16806       Normally rclone will calculate the MD5 checksum of the input before up‐
16807       loading  it  so it can add it to metadata on the object.  This is great
16808       for data integrity checking but can cause long delays for  large  files
16809       to start uploading.
16810
16811       • Config: disable_checksum
16812
16813       • Env Var: RCLONE_S3_DISABLE_CHECKSUM
16814
16815       • Type: bool
16816
16817       • Default: false
16818
16819   --s3-shared-credentials-file
16820       Path to the shared credentials file.
16821
16822       If env_auth = true then rclone can use a shared credentials file.
16823
16824       If  this variable is empty rclone will look for the "AWS_SHARED_CREDEN‐
16825       TIALS_FILE" env variable.  If the env value is empty it will default to
16826       the current user's home directory.
16827
16828              Linux/OSX: "$HOME/.aws/credentials"
16829              Windows:   "%USERPROFILE%\.aws\credentials"
16830
16831       • Config: shared_credentials_file
16832
16833       • Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE
16834
16835       • Type: string
16836
16837       • Default: ""
16838
16839   --s3-profile
16840       Profile to use in the shared credentials file.
16841
16842       If env_auth = true then rclone can use a shared credentials file.  This
16843       variable controls which profile is used in that file.
16844
16845       If empty it will default to the environment variable  "AWS_PROFILE"  or
16846       "default" if that environment variable is also not set.
16847
16848       • Config: profile
16849
16850       • Env Var: RCLONE_S3_PROFILE
16851
16852       • Type: string
16853
16854       • Default: ""
16855
16856   --s3-session-token
16857       An AWS session token.
16858
16859       • Config: session_token
16860
16861       • Env Var: RCLONE_S3_SESSION_TOKEN
16862
16863       • Type: string
16864
16865       • Default: ""
16866
16867   --s3-upload-concurrency
16868       Concurrency for multipart uploads.
16869
16870       This is the number of chunks of the same file that are uploaded concur‐
16871       rently.
16872
16873       If you are uploading small numbers of large files over high-speed links
16874       and  these uploads do not fully utilize your bandwidth, then increasing
16875       this may help to speed up the transfers.
16876
16877       • Config: upload_concurrency
16878
16879       • Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
16880
16881       • Type: int
16882
16883       • Default: 4
16884
16885   --s3-force-path-style
16886       If true use path style access if false use virtual hosted style.
16887
16888       If this is true (the default) then rclone will use path  style  access,
16889       if  false then rclone will use virtual path style.  See the AWS S3 docs
16890       (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#ac‐
16891       cess-bucket-intro) for more info.
16892
16893       Some providers (e.g.  AWS, Aliyun OSS, Netease COS, or Tencent COS) re‐
16894       quire this set to false - rclone will do this  automatically  based  on
16895       the provider setting.
16896
16897       • Config: force_path_style
16898
16899       • Env Var: RCLONE_S3_FORCE_PATH_STYLE
16900
16901       • Type: bool
16902
16903       • Default: true
16904
16905   --s3-v2-auth
16906       If true use v2 authentication.
16907
16908       If  this is false (the default) then rclone will use v4 authentication.
16909       If it is set then rclone will use v2 authentication.
16910
16911       Use this only if v4 signatures don't work, e.g.  pre Jewel/v10 CEPH.
16912
16913       • Config: v2_auth
16914
16915       • Env Var: RCLONE_S3_V2_AUTH
16916
16917       • Type: bool
16918
16919       • Default: false
16920
16921   --s3-use-accelerate-endpoint
16922       If true use the AWS S3 accelerated endpoint.
16923
16924       See: AWS  S3  Transfer  acceleration  (https://docs.aws.amazon.com/Ama
16925       zonS3/latest/dev/transfer-acceleration-examples.html)
16926
16927       • Config: use_accelerate_endpoint
16928
16929       • Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
16930
16931       • Type: bool
16932
16933       • Default: false
16934
16935   --s3-leave-parts-on-error
16936       If  true  avoid calling abort upload on a failure, leaving all success‐
16937       fully uploaded parts on S3 for manual recovery.
16938
16939       It should be set to true for resuming  uploads  across  different  ses‐
16940       sions.
16941
16942       WARNING: Storing parts of an incomplete multipart upload counts towards
16943       space usage on S3 and will add additional costs if not cleaned up.
16944
16945       • Config: leave_parts_on_error
16946
16947       • Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
16948
16949       • Type: bool
16950
16951       • Default: false
16952
16953   --s3-list-chunk
16954       Size of listing chunk (response list for each ListObject S3 request).
16955
16956       This option is also known as  "MaxKeys",  "max-items",  or  "page-size"
16957       from  the  AWS  S3  specification.  Most services truncate the response
16958       list to 1000 objects even if requested more than that.  In AWS S3  this
16959       is   a   global   maximum   and   cannot   be   changed,   see  AWS  S3
16960       (https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html).       In
16961       Ceph,  this  can be increased with the "rgw list buckets max chunk" op‐
16962       tion.
16963
16964       • Config: list_chunk
16965
16966       • Env Var: RCLONE_S3_LIST_CHUNK
16967
16968       • Type: int
16969
16970       • Default: 1000
16971
16972   --s3-no-check-bucket
16973       If set, don't attempt to check the bucket exists or create it.
16974
16975       This can be useful when trying to minimise the number  of  transactions
16976       rclone does if you know the bucket exists already.
16977
16978       It  can  also  be needed if the user you are using does not have bucket
16979       creation permissions.  Before v1.52.0 this would have  passed  silently
16980       due to a bug.
16981
16982       • Config: no_check_bucket
16983
16984       • Env Var: RCLONE_S3_NO_CHECK_BUCKET
16985
16986       • Type: bool
16987
16988       • Default: false
16989
16990   --s3-no-head
16991       If set, don't HEAD uploaded objects to check integrity.
16992
16993       This  can  be useful when trying to minimise the number of transactions
16994       rclone does.
16995
16996       Setting it means that if rclone receives a 200 OK message after upload‐
16997       ing an object with PUT then it will assume that it got uploaded proper‐
16998       ly.
16999
17000       In particular it will assume:
17001
17002       • the metadata, including modtime, storage class and content  type  was
17003         as uploaded
17004
17005       • the size was as uploaded
17006
17007       It reads the following items from the response for a single part PUT:
17008
17009       • the MD5SUM
17010
17011       • The uploaded date
17012
17013       For multipart uploads these items aren't read.
17014
17015       If an source object of unknown length is uploaded then rclone will do a
17016       HEAD request.
17017
17018       Setting this flag increases the chance for undetected upload  failures,
17019       in particular an incorrect size, so it isn't recommended for normal op‐
17020       eration.  In practice the chance of an  undetected  upload  failure  is
17021       very small even with this flag.
17022
17023       • Config: no_head
17024
17025       • Env Var: RCLONE_S3_NO_HEAD
17026
17027       • Type: bool
17028
17029       • Default: false
17030
17031   --s3-no-head-object
17032       If set, do not do HEAD before GET when getting objects.
17033
17034       • Config: no_head_object
17035
17036       • Env Var: RCLONE_S3_NO_HEAD_OBJECT
17037
17038       • Type: bool
17039
17040       • Default: false
17041
17042   --s3-encoding
17043       This sets the encoding for the backend.
17044
17045       See  the  encoding  section  in  the overview (https://rclone.org/over
17046       view/#encoding) for more info.
17047
17048       • Config: encoding
17049
17050       • Env Var: RCLONE_S3_ENCODING
17051
17052       • Type: MultiEncoder
17053
17054       • Default: Slash,InvalidUtf8,Dot
17055
17056   --s3-memory-pool-flush-time
17057       How often internal memory buffer pools will be flushed.
17058
17059       Uploads which requires additional buffers (f.e multipart) will use mem‐
17060       ory  pool  for allocations.  This option controls how often unused buf‐
17061       fers will be removed from the pool.
17062
17063       • Config: memory_pool_flush_time
17064
17065       • Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME
17066
17067       • Type: Duration
17068
17069       • Default: 1m0s
17070
17071   --s3-memory-pool-use-mmap
17072       Whether to use mmap buffers in internal memory pool.
17073
17074       • Config: memory_pool_use_mmap
17075
17076       • Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP
17077
17078       • Type: bool
17079
17080       • Default: false
17081
17082   --s3-disable-http2
17083       Disable usage of http2 for S3 backends.
17084
17085       There is currently an unsolved issue with the s3  (specifically  minio)
17086       backend  and  HTTP/2.   HTTP/2 is enabled by default for the s3 backend
17087       but can be disabled here.  When the issue is solved this flag  will  be
17088       removed.
17089
17090       See:                      https://github.com/rclone/rclone/issues/4673,
17091       https://github.com/rclone/rclone/issues/3631
17092
17093       • Config: disable_http2
17094
17095       • Env Var: RCLONE_S3_DISABLE_HTTP2
17096
17097       • Type: bool
17098
17099       • Default: false
17100
17101   --s3-download-url
17102       Custom endpoint for downloads.  This is usually set to a CloudFront CDN
17103       URL  as  AWS  S3  offers cheaper egress for data downloaded through the
17104       CloudFront network.
17105
17106       • Config: download_url
17107
17108       • Env Var: RCLONE_S3_DOWNLOAD_URL
17109
17110       • Type: string
17111
17112       • Default: ""
17113
17114   Backend commands
17115       Here are the commands specific to the s3 backend.
17116
17117       Run them with
17118
17119              rclone backend COMMAND remote:
17120
17121       The help below will explain what arguments each command takes.
17122
17123       See   the    "rclone    backend"    command    (https://rclone.org/com
17124       mands/rclone_backend/)  for  more info on how to pass options and argu‐
17125       ments.
17126
17127       These can be run on a running backend using the rc command backend/com‐
17128       mand (https://rclone.org/rc/#backend/command).
17129
17130   restore
17131       Restore objects from GLACIER to normal storage
17132
17133              rclone backend restore remote: [options] [<arguments>+]
17134
17135       This command can be used to restore one or more objects from GLACIER to
17136       normal storage.
17137
17138       Usage Examples:
17139
17140              rclone backend restore s3:bucket/path/to/object [-o priority=PRIORITY] [-o lifetime=DAYS]
17141              rclone backend restore s3:bucket/path/to/directory [-o priority=PRIORITY] [-o lifetime=DAYS]
17142              rclone backend restore s3:bucket [-o priority=PRIORITY] [-o lifetime=DAYS]
17143
17144       This flag also obeys the filters.  Test first with -i/--interactive  or
17145       --dry-run flags
17146
17147              rclone -i backend restore --include "*.txt" s3:bucket/path -o priority=Standard
17148
17149       All the objects shown will be marked for restore, then
17150
17151              rclone backend restore --include "*.txt" s3:bucket/path -o priority=Standard
17152
17153       It  returns  a list of status dictionaries with Remote and Status keys.
17154       The Status will be OK if it was successful or an error message if not.
17155
17156              [
17157                  {
17158                      "Status": "OK",
17159                      "Path": "test.txt"
17160                  },
17161                  {
17162                      "Status": "OK",
17163                      "Path": "test/file4.txt"
17164                  }
17165              ]
17166
17167       Options:
17168
17169       • "description": The optional description for the job.
17170
17171       • "lifetime": Lifetime of the active copy in days
17172
17173       • "priority": Priority of restore: Standard|Expedited|Bulk
17174
17175   list-multipart-uploads
17176       List the unfinished multipart uploads
17177
17178              rclone backend list-multipart-uploads remote: [options] [<arguments>+]
17179
17180       This command lists the unfinished multipart uploads in JSON format.
17181
17182              rclone backend list-multipart s3:bucket/path/to/object
17183
17184       It returns a dictionary of buckets with values as lists  of  unfinished
17185       multipart uploads.
17186
17187       You  can call it with no bucket in which case it lists all bucket, with
17188       a bucket or with a bucket and path.
17189
17190              {
17191                "rclone": [
17192                  {
17193                    "Initiated": "2020-06-26T14:20:36Z",
17194                    "Initiator": {
17195                      "DisplayName": "XXX",
17196                      "ID": "arn:aws:iam::XXX:user/XXX"
17197                    },
17198                    "Key": "KEY",
17199                    "Owner": {
17200                      "DisplayName": null,
17201                      "ID": "XXX"
17202                    },
17203                    "StorageClass": "STANDARD",
17204                    "UploadId": "XXX"
17205                  }
17206                ],
17207                "rclone-1000files": [],
17208                "rclone-dst": []
17209              }
17210
17211   cleanup
17212       Remove unfinished multipart uploads.
17213
17214              rclone backend cleanup remote: [options] [<arguments>+]
17215
17216       This command removes unfinished multipart uploads of age  greater  than
17217       max-age which defaults to 24 hours.
17218
17219       Note  that  you  can  use -i/--dry-run with this command to see what it
17220       would do.
17221
17222              rclone backend cleanup s3:bucket/path/to/object
17223              rclone backend cleanup -o max-age=7w s3:bucket/path/to/object
17224
17225       Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
17226
17227       Options:
17228
17229       • "max-age": Max age of upload to delete
17230
17231   Anonymous access to public buckets
17232       If you want to use rclone to access a public bucket, configure  with  a
17233       blank  access_key_id  and secret_access_key.  Your config should end up
17234       looking like this:
17235
17236              [anons3]
17237              type = s3
17238              provider = AWS
17239              env_auth = false
17240              access_key_id =
17241              secret_access_key =
17242              region = us-east-1
17243              endpoint =
17244              location_constraint =
17245              acl = private
17246              server_side_encryption =
17247              storage_class =
17248
17249       Then use it as normal with the name of the public bucket, e.g.
17250
17251              rclone lsd anons3:1000genomes
17252
17253       You will be able to list and copy data but not upload it.
17254
17255   Providers
17256   AWS S3
17257       This is the provider used as main example and described in the configu‐
17258       ration section above.
17259
17260   AWS Snowball Edge
17261       AWS Snowball (https://aws.amazon.com/snowball/) is a hardware appliance
17262       used for transferring bulk data back to AWS.  Its main software  inter‐
17263       face is S3 object storage.
17264
17265       To use rclone with AWS Snowball Edge devices, configure as standard for
17266       an 'S3 Compatible Service' be sure to set upload_cutoff =  0  otherwise
17267       you  will  run into authentication header issues as the snowball device
17268       does not support query parameter based authentication.
17269
17270       eg.
17271
17272              [snowball]
17273              type = s3
17274              provider = Other
17275              access_key_id = YOUR_ACCESS_KEY
17276              secret_access_key = YOUR_SECRET_KEY
17277              endpoint = http://[IP of Snowball]:8080
17278              upload_cutoff = 0
17279
17280   Ceph
17281       Ceph (https://ceph.com/) is an open source unified, distributed storage
17282       system designed for excellent performance, reliability and scalability.
17283       It has an S3 compatible object storage interface.
17284
17285       To use rclone with Ceph, configure as above but leave the region  blank
17286       and  set  the  endpoint.  You should end up with something like this in
17287       your config:
17288
17289              [ceph]
17290              type = s3
17291              provider = Ceph
17292              env_auth = false
17293              access_key_id = XXX
17294              secret_access_key = YYY
17295              region =
17296              endpoint = https://ceph.endpoint.example.com
17297              location_constraint =
17298              acl =
17299              server_side_encryption =
17300              storage_class =
17301
17302       If you are using an older version of CEPH, e.g.  10.2.x Jewel, then you
17303       may  need  to  supply the parameter --s3-upload-cutoff 0 or put this in
17304       the config file as upload_cutoff 0 to work around a  bug  which  causes
17305       uploading of small files to fail.
17306
17307       Note  also  that Ceph sometimes puts / in the passwords it gives users.
17308       If you read the secret access key using the command line tools you will
17309       get  a  JSON blob with the / escaped as \/.  Make sure you only write /
17310       in the secret access key.
17311
17312       Eg the dump from Ceph looks something like this  (irrelevant  keys  re‐
17313       moved).
17314
17315              {
17316                  "user_id": "xxx",
17317                  "display_name": "xxxx",
17318                  "keys": [
17319                      {
17320                          "user": "xxx",
17321                          "access_key": "xxxxxx",
17322                          "secret_key": "xxxxxx\/xxxx"
17323                      }
17324                  ],
17325              }
17326
17327       Because  this is a json dump, it is encoding the / as \/, so if you use
17328       the secret key as xxxxxx/xxxx it will work fine.
17329
17330   Dreamhost
17331       Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage/) is an
17332       object storage system based on CEPH.
17333
17334       To  use  rclone with Dreamhost, configure as above but leave the region
17335       blank and set the endpoint.  You should end up with something like this
17336       in your config:
17337
17338              [dreamobjects]
17339              type = s3
17340              provider = DreamHost
17341              env_auth = false
17342              access_key_id = your_access_key
17343              secret_access_key = your_secret_key
17344              region =
17345              endpoint = objects-us-west-1.dream.io
17346              location_constraint =
17347              acl = private
17348              server_side_encryption =
17349              storage_class =
17350
17351   DigitalOcean Spaces
17352       Spaces  (https://www.digitalocean.com/products/object-storage/)  is  an
17353       S3-interoperable        (https://developers.digitalocean.com/documenta
17354       tion/spaces/) object storage service from cloud provider DigitalOcean.
17355
17356       To  connect  to DigitalOcean Spaces you will need an access key and se‐
17357       cret  key.   These  can  be  retrieved  on  the  "Applications  &   API
17358       (https://cloud.digitalocean.com/settings/api/tokens)" page of the Digi‐
17359       talOcean control panel.  They will be needed when  prompted  by  rclone
17360       config for your access_key_id and secret_access_key.
17361
17362       When  prompted  for a region or location_constraint, press enter to use
17363       the default value.  The region must be included in the endpoint setting
17364       (e.g.   nyc3.digitaloceanspaces.com).   The  default values can be used
17365       for other settings.
17366
17367       Going through the whole process of creating a  new  remote  by  running
17368       rclone config, each prompt should be answered as shown below:
17369
17370              Storage> s3
17371              env_auth> 1
17372              access_key_id> YOUR_ACCESS_KEY
17373              secret_access_key> YOUR_SECRET_KEY
17374              region>
17375              endpoint> nyc3.digitaloceanspaces.com
17376              location_constraint>
17377              acl>
17378              storage_class>
17379
17380       The resulting configuration file should look like:
17381
17382              [spaces]
17383              type = s3
17384              provider = DigitalOcean
17385              env_auth = false
17386              access_key_id = YOUR_ACCESS_KEY
17387              secret_access_key = YOUR_SECRET_KEY
17388              region =
17389              endpoint = nyc3.digitaloceanspaces.com
17390              location_constraint =
17391              acl =
17392              server_side_encryption =
17393              storage_class =
17394
17395       Once  configured,  you  can create a new Space and begin copying files.
17396       For example:
17397
17398              rclone mkdir spaces:my-new-space
17399              rclone copy /path/to/files spaces:my-new-space
17400
17401   IBM COS (S3)
17402       Information stored with IBM Cloud Object Storage is encrypted and  dis‐
17403       persed  across  multiple  geographic locations, and accessed through an
17404       implementation of the S3 API.  This service makes use of  the  distrib‐
17405       uted storage technologies provided by IBM’s Cloud Object Storage System
17406       (formerly     Cleversafe).      For     more     information     visit:
17407       (http://www.ibm.com/cloud/object-storage)
17408
17409       To configure access to IBM COS S3, follow the steps below:
17410
17411       1. Run rclone config and select n for a new remote.
17412
17413              2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
17414              No remotes found - make a new one
17415              n) New remote
17416              s) Set configuration password
17417              q) Quit config
17418              n/s/q> n
17419
17420       2. Enter the name for the configuration
17421
17422              name> <YOUR NAME>
17423
17424       3. Select "s3" storage.
17425
17426          Choose a number from below, or type in your own value
17427              1 / Alias for an existing remote
17428              \ "alias"
17429              2 / Amazon Drive
17430              \ "amazon cloud drive"
17431              3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS)
17432              \ "s3"
17433              4 / Backblaze B2
17434              \ "b2"
17435          [snip]
17436              23 / http Connection
17437              \ "http"
17438          Storage> 3
17439
17440       4. Select IBM COS as the S3 Storage Provider.
17441
17442          Choose the S3 provider.
17443          Choose a number from below, or type in your own value
17444               1 / Choose this option to configure Storage to AWS S3
17445                 \ "AWS"
17446               2 / Choose this option to configure Storage to Ceph Systems
17447               \ "Ceph"
17448               3 /  Choose this option to configure Storage to Dreamhost
17449               \ "Dreamhost"
17450             4 / Choose this option to the configure Storage to IBM COS S3
17451               \ "IBMCOS"
17452               5 / Choose this option to the configure Storage to Minio
17453               \ "Minio"
17454               Provider>4
17455
17456       5. Enter the Access Key and Secret.
17457
17458              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
17459              access_key_id> <>
17460              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
17461              secret_access_key> <>
17462
17463       6. Specify  the  endpoint for IBM COS.  For Public IBM COS, choose from
17464          the option below.  For On Premise IBM COS,  enter  an  endpoint  ad‐
17465          dress.
17466
17467              Endpoint for IBM COS S3 API.
17468              Specify if using an IBM COS On Premise.
17469              Choose a number from below, or type in your own value
17470               1 / US Cross Region Endpoint
17471                 \ "s3-api.us-geo.objectstorage.softlayer.net"
17472               2 / US Cross Region Dallas Endpoint
17473                 \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
17474               3 / US Cross Region Washington DC Endpoint
17475                 \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
17476               4 / US Cross Region San Jose Endpoint
17477                 \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
17478               5 / US Cross Region Private Endpoint
17479                 \ "s3-api.us-geo.objectstorage.service.networklayer.com"
17480               6 / US Cross Region Dallas Private Endpoint
17481                 \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
17482               7 / US Cross Region Washington DC Private Endpoint
17483                 \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
17484               8 / US Cross Region San Jose Private Endpoint
17485                 \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
17486               9 / US Region East Endpoint
17487                 \ "s3.us-east.objectstorage.softlayer.net"
17488              10 / US Region East Private Endpoint
17489                 \ "s3.us-east.objectstorage.service.networklayer.com"
17490              11 / US Region South Endpoint
17491          [snip]
17492              34 / Toronto Single Site Private Endpoint
17493                 \ "s3.tor01.objectstorage.service.networklayer.com"
17494              endpoint>1
17495
17496       7. Specify a IBM COS Location Constraint.  The location constraint must
17497          match endpoint when using IBM Cloud Public.  For on-prem COS, do not
17498          make a selection from this list, hit enter
17499
17500               1 / US Cross Region Standard
17501                 \ "us-standard"
17502               2 / US Cross Region Vault
17503                 \ "us-vault"
17504               3 / US Cross Region Cold
17505                 \ "us-cold"
17506               4 / US Cross Region Flex
17507                 \ "us-flex"
17508               5 / US East Region Standard
17509                 \ "us-east-standard"
17510               6 / US East Region Vault
17511                 \ "us-east-vault"
17512               7 / US East Region Cold
17513                 \ "us-east-cold"
17514               8 / US East Region Flex
17515                 \ "us-east-flex"
17516               9 / US South Region Standard
17517                 \ "us-south-standard"
17518              10 / US South Region Vault
17519                 \ "us-south-vault"
17520          [snip]
17521              32 / Toronto Flex
17522                 \ "tor01-flex"
17523          location_constraint>1
17524
17525       9. Specify  a  canned  ACL.  IBM Cloud (Storage) supports "public-read"
17526          and "private".  IBM  Cloud(Infra)  supports  all  the  canned  ACLs.
17527          On-Premise COS supports all the canned ACLs.
17528
17529          Canned ACL used when creating buckets and/or storing objects in S3.
17530          For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
17531          Choose a number from below, or type in your own value
17532                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
17533                \ "private"
17534                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
17535                \ "public-read"
17536                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
17537                \ "public-read-write"
17538                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
17539                \ "authenticated-read"
17540          acl> 1
17541
17542       12. Review  the displayed configuration and accept to save the "remote"
17543           then quit.  The config file should look like this
17544
17545               [xxx]
17546               type = s3
17547               Provider = IBMCOS
17548               access_key_id = xxx
17549               secret_access_key = yyy
17550               endpoint = s3-api.us-geo.objectstorage.softlayer.net
17551               location_constraint = us-standard
17552               acl = private
17553
17554       13. Execute rclone commands
17555
17556               1)  Create a bucket.
17557                   rclone mkdir IBM-COS-XREGION:newbucket
17558               2)  List available buckets.
17559                   rclone lsd IBM-COS-XREGION:
17560                   -1 2017-11-08 21:16:22        -1 test
17561                   -1 2018-02-14 20:16:39        -1 newbucket
17562               3)  List contents of a bucket.
17563                   rclone ls IBM-COS-XREGION:newbucket
17564                   18685952 test.exe
17565               4)  Copy a file from local to remote.
17566                   rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
17567               5)  Copy a file from remote to local.
17568                   rclone copy IBM-COS-XREGION:newbucket/file.txt .
17569               6)  Delete a file on remote.
17570                   rclone delete IBM-COS-XREGION:newbucket/file.txt
17571
17572   Minio
17573       Minio (https://minio.io/) is an object storage server built  for  cloud
17574       application developers and devops.
17575
17576       It  is  very easy to install and provides an S3 compatible server which
17577       can be used by rclone.
17578
17579       To  use   it,   install   Minio   following   the   instructions   here
17580       (https://docs.minio.io/docs/minio-quickstart-guide).
17581
17582       When it configures itself Minio will print something like this
17583
17584              Endpoint:  http://192.168.1.106:9000  http://172.23.0.1:9000
17585              AccessKey: USWUXHGYZQYFYFFIT3RE
17586              SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
17587              Region:    us-east-1
17588              SQS ARNs:  arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
17589
17590              Browser Access:
17591                 http://192.168.1.106:9000  http://172.23.0.1:9000
17592
17593              Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
17594                 $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
17595
17596              Object API (Amazon S3 compatible):
17597                 Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
17598                 Java:       https://docs.minio.io/docs/java-client-quickstart-guide
17599                 Python:     https://docs.minio.io/docs/python-client-quickstart-guide
17600                 JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
17601                 .NET:       https://docs.minio.io/docs/dotnet-client-quickstart-guide
17602
17603              Drive Capacity: 26 GiB Free, 165 GiB Total
17604
17605       These details need to go into rclone config like this.  Note that it is
17606       important to put the region in as stated above.
17607
17608              env_auth> 1
17609              access_key_id> USWUXHGYZQYFYFFIT3RE
17610              secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
17611              region> us-east-1
17612              endpoint> http://192.168.1.106:9000
17613              location_constraint>
17614              server_side_encryption>
17615
17616       Which makes the config file look like this
17617
17618              [minio]
17619              type = s3
17620              provider = Minio
17621              env_auth = false
17622              access_key_id = USWUXHGYZQYFYFFIT3RE
17623              secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
17624              region = us-east-1
17625              endpoint = http://192.168.1.106:9000
17626              location_constraint =
17627              server_side_encryption =
17628
17629       So once set up, for example to copy files into a bucket
17630
17631              rclone copy /path/to/files minio:bucket
17632
17633   Scaleway
17634       Scaleway (https://www.scaleway.com/object-storage/) The Object  Storage
17635       platform allows you to store anything from backups, logs and web assets
17636       to documents and photos.  Files can be dropped from the  Scaleway  con‐
17637       sole  or transferred through our API and CLI or using any S3-compatible
17638       tool.
17639
17640       Scaleway provides an S3 interface which can be configured for use  with
17641       rclone like this:
17642
17643              [scaleway]
17644              type = s3
17645              provider = Scaleway
17646              env_auth = false
17647              endpoint = s3.nl-ams.scw.cloud
17648              access_key_id = SCWXXXXXXXXXXXXXX
17649              secret_access_key = 1111111-2222-3333-44444-55555555555555
17650              region = nl-ams
17651              location_constraint =
17652              acl = private
17653              server_side_encryption =
17654              storage_class =
17655
17656   SeaweedFS
17657       SeaweedFS  (https://github.com/chrislusf/seaweedfs/)  is  a distributed
17658       storage system for blobs, objects, files, and data lake, with O(1) disk
17659       seek  and  a scalable file metadata store.  It has an S3 compatible ob‐
17660       ject storage interface.
17661
17662       Assuming the SeaweedFS are configured with weed shell as such:
17663
17664              > s3.bucket.create -name foo
17665              > s3.configure -access_key=any -secret_key=any -buckets=foo -user=me -actions=Read,Write,List,Tagging,Admin -apply
17666              {
17667                "identities": [
17668                  {
17669                    "name": "me",
17670                    "credentials": [
17671                      {
17672                        "accessKey": "any",
17673                        "secretKey": "any"
17674                      }
17675                    ],
17676                    "actions": [
17677                      "Read:foo",
17678                      "Write:foo",
17679                      "List:foo",
17680                      "Tagging:foo",
17681                      "Admin:foo"
17682                    ]
17683                  }
17684                ]
17685              }
17686
17687       To use rclone with SeaweedFS, above configuration should  end  up  with
17688       something like this in your config:
17689
17690              [seaweedfs_s3]
17691              type = s3
17692              provider = SeaweedFS
17693              access_key_id = any
17694              secret_access_key = any
17695              endpoint = localhost:8333
17696
17697       So once set up, for example to copy files into a bucket
17698
17699              rclone copy /path/to/files seaweedfs_s3:foo
17700
17701   Wasabi
17702       Wasabi (https://wasabi.com) is a cloud-based object storage service for
17703       a broad range of applications and use cases.  Wasabi  is  designed  for
17704       individuals  and  organizations  that require a high-performance, reli‐
17705       able, and secure data storage infrastructure at minimal cost.
17706
17707       Wasabi provides an S3 interface which can be configured  for  use  with
17708       rclone like this.
17709
17710              No remotes found - make a new one
17711              n) New remote
17712              s) Set configuration password
17713              n/s> n
17714              name> wasabi
17715              Type of storage to configure.
17716              Choose a number from below, or type in your own value
17717              [snip]
17718              XX / Amazon S3 (also Dreamhost, Ceph, Minio)
17719                 \ "s3"
17720              [snip]
17721              Storage> s3
17722              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.
17723              Choose a number from below, or type in your own value
17724               1 / Enter AWS credentials in the next step
17725                 \ "false"
17726               2 / Get AWS credentials from the environment (env vars or IAM)
17727                 \ "true"
17728              env_auth> 1
17729              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
17730              access_key_id> YOURACCESSKEY
17731              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
17732              secret_access_key> YOURSECRETACCESSKEY
17733              Region to connect to.
17734              Choose a number from below, or type in your own value
17735                 / The default endpoint - a good choice if you are unsure.
17736               1 | US Region, Northern Virginia, or Pacific Northwest.
17737                 | Leave location constraint empty.
17738                 \ "us-east-1"
17739              [snip]
17740              region> us-east-1
17741              Endpoint for S3 API.
17742              Leave blank if using AWS to use the default endpoint for the region.
17743              Specify if using an S3 clone such as Ceph.
17744              endpoint> s3.wasabisys.com
17745              Location constraint - must be set to match the Region. Used when creating buckets only.
17746              Choose a number from below, or type in your own value
17747               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
17748                 \ ""
17749              [snip]
17750              location_constraint>
17751              Canned ACL used when creating buckets and/or storing objects in S3.
17752              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
17753              Choose a number from below, or type in your own value
17754               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
17755                 \ "private"
17756              [snip]
17757              acl>
17758              The server-side encryption algorithm used when storing this object in S3.
17759              Choose a number from below, or type in your own value
17760               1 / None
17761                 \ ""
17762               2 / AES256
17763                 \ "AES256"
17764              server_side_encryption>
17765              The storage class to use when storing objects in S3.
17766              Choose a number from below, or type in your own value
17767               1 / Default
17768                 \ ""
17769               2 / Standard storage class
17770                 \ "STANDARD"
17771               3 / Reduced redundancy storage class
17772                 \ "REDUCED_REDUNDANCY"
17773               4 / Standard Infrequent Access storage class
17774                 \ "STANDARD_IA"
17775              storage_class>
17776              Remote config
17777              --------------------
17778              [wasabi]
17779              env_auth = false
17780              access_key_id = YOURACCESSKEY
17781              secret_access_key = YOURSECRETACCESSKEY
17782              region = us-east-1
17783              endpoint = s3.wasabisys.com
17784              location_constraint =
17785              acl =
17786              server_side_encryption =
17787              storage_class =
17788              --------------------
17789              y) Yes this is OK
17790              e) Edit this remote
17791              d) Delete this remote
17792              y/e/d> y
17793
17794       This will leave the config file looking like this.
17795
17796              [wasabi]
17797              type = s3
17798              provider = Wasabi
17799              env_auth = false
17800              access_key_id = YOURACCESSKEY
17801              secret_access_key = YOURSECRETACCESSKEY
17802              region =
17803              endpoint = s3.wasabisys.com
17804              location_constraint =
17805              acl =
17806              server_side_encryption =
17807              storage_class =
17808
17809   Alibaba OSS
17810       Here   is   an   example  of  making  an  Alibaba  Cloud  (Aliyun)  OSS
17811       (https://www.alibabacloud.com/product/oss/) configuration.  First run:
17812
17813              rclone config
17814
17815       This will guide you through an interactive setup process.
17816
17817              No remotes found - make a new one
17818              n) New remote
17819              s) Set configuration password
17820              q) Quit config
17821              n/s/q> n
17822              name> oss
17823              Type of storage to configure.
17824              Enter a string value. Press Enter for the default ("").
17825              Choose a number from below, or type in your own value
17826              [snip]
17827               4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
17828                 \ "s3"
17829              [snip]
17830              Storage> s3
17831              Choose your S3 provider.
17832              Enter a string value. Press Enter for the default ("").
17833              Choose a number from below, or type in your own value
17834               1 / Amazon Web Services (AWS) S3
17835                 \ "AWS"
17836               2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
17837                 \ "Alibaba"
17838               3 / Ceph Object Storage
17839                 \ "Ceph"
17840              [snip]
17841              provider> Alibaba
17842              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
17843              Only applies if access_key_id and secret_access_key is blank.
17844              Enter a boolean value (true or false). Press Enter for the default ("false").
17845              Choose a number from below, or type in your own value
17846               1 / Enter AWS credentials in the next step
17847                 \ "false"
17848               2 / Get AWS credentials from the environment (env vars or IAM)
17849                 \ "true"
17850              env_auth> 1
17851              AWS Access Key ID.
17852              Leave blank for anonymous access or runtime credentials.
17853              Enter a string value. Press Enter for the default ("").
17854              access_key_id> accesskeyid
17855              AWS Secret Access Key (password)
17856              Leave blank for anonymous access or runtime credentials.
17857              Enter a string value. Press Enter for the default ("").
17858              secret_access_key> secretaccesskey
17859              Endpoint for OSS API.
17860              Enter a string value. Press Enter for the default ("").
17861              Choose a number from below, or type in your own value
17862               1 / East China 1 (Hangzhou)
17863                 \ "oss-cn-hangzhou.aliyuncs.com"
17864               2 / East China 2 (Shanghai)
17865                 \ "oss-cn-shanghai.aliyuncs.com"
17866               3 / North China 1 (Qingdao)
17867                 \ "oss-cn-qingdao.aliyuncs.com"
17868              [snip]
17869              endpoint> 1
17870              Canned ACL used when creating buckets and storing or copying objects.
17871
17872              Note that this ACL is applied when server-side copying objects as S3
17873              doesn't copy the ACL from the source but rather writes a fresh one.
17874              Enter a string value. Press Enter for the default ("").
17875              Choose a number from below, or type in your own value
17876               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
17877                 \ "private"
17878               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
17879                 \ "public-read"
17880                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
17881              [snip]
17882              acl> 1
17883              The storage class to use when storing new objects in OSS.
17884              Enter a string value. Press Enter for the default ("").
17885              Choose a number from below, or type in your own value
17886               1 / Default
17887                 \ ""
17888               2 / Standard storage class
17889                 \ "STANDARD"
17890               3 / Archive storage mode.
17891                 \ "GLACIER"
17892               4 / Infrequent access storage mode.
17893                 \ "STANDARD_IA"
17894              storage_class> 1
17895              Edit advanced config? (y/n)
17896              y) Yes
17897              n) No
17898              y/n> n
17899              Remote config
17900              --------------------
17901              [oss]
17902              type = s3
17903              provider = Alibaba
17904              env_auth = false
17905              access_key_id = accesskeyid
17906              secret_access_key = secretaccesskey
17907              endpoint = oss-cn-hangzhou.aliyuncs.com
17908              acl = private
17909              storage_class = Standard
17910              --------------------
17911              y) Yes this is OK
17912              e) Edit this remote
17913              d) Delete this remote
17914              y/e/d> y
17915
17916   Tencent COS
17917       Tencent   Cloud   Object   Storage    (COS)    (https://intl.cloud.ten
17918       cent.com/product/cos)  is a distributed storage service offered by Ten‐
17919       cent Cloud for unstructured data.  It is secure, stable, massive,  con‐
17920       venient, low-delay and low-cost.
17921
17922       To configure access to Tencent COS, follow the steps below:
17923
17924       1. Run rclone config and select n for a new remote.
17925
17926          rclone config
17927          No remotes found - make a new one
17928          n) New remote
17929          s) Set configuration password
17930          q) Quit config
17931          n/s/q> n
17932
17933       2. Give the name of the configuration.  For example, name it 'cos'.
17934
17935          name> cos
17936
17937       3. Select s3 storage.
17938
17939          Choose a number from below, or type in your own value
17940          1 / 1Fichier
17941             \ "fichier"
17942           2 / Alias for an existing remote
17943             \ "alias"
17944           3 / Amazon Drive
17945             \ "amazon cloud drive"
17946           4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
17947             \ "s3"
17948          [snip]
17949          Storage> s3
17950
17951       4. Select TencentCOS provider.
17952
17953          Choose a number from below, or type in your own value
17954          1 / Amazon Web Services (AWS) S3
17955             \ "AWS"
17956          [snip]
17957          11 / Tencent Cloud Object Storage (COS)
17958             \ "TencentCOS"
17959          [snip]
17960          provider> TencentCOS
17961
17962       5. Enter your SecretId and SecretKey of Tencent Cloud.
17963
17964          Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
17965          Only applies if access_key_id and secret_access_key is blank.
17966          Enter a boolean value (true or false). Press Enter for the default ("false").
17967          Choose a number from below, or type in your own value
17968           1 / Enter AWS credentials in the next step
17969             \ "false"
17970           2 / Get AWS credentials from the environment (env vars or IAM)
17971             \ "true"
17972          env_auth> 1
17973          AWS Access Key ID.
17974          Leave blank for anonymous access or runtime credentials.
17975          Enter a string value. Press Enter for the default ("").
17976          access_key_id> AKIDxxxxxxxxxx
17977          AWS Secret Access Key (password)
17978          Leave blank for anonymous access or runtime credentials.
17979          Enter a string value. Press Enter for the default ("").
17980          secret_access_key> xxxxxxxxxxx
17981
17982       6. Select  endpoint for Tencent COS.  This is the standard endpoint for
17983          different region.
17984
17985           1 / Beijing Region.
17986             \ "cos.ap-beijing.myqcloud.com"
17987           2 / Nanjing Region.
17988             \ "cos.ap-nanjing.myqcloud.com"
17989           3 / Shanghai Region.
17990             \ "cos.ap-shanghai.myqcloud.com"
17991           4 / Guangzhou Region.
17992             \ "cos.ap-guangzhou.myqcloud.com"
17993          [snip]
17994          endpoint> 4
17995
17996       7. Choose acl and storage class.
17997
17998          Note that this ACL is applied when server-side copying objects as S3
17999          doesn't copy the ACL from the source but rather writes a fresh one.
18000          Enter a string value. Press Enter for the default ("").
18001          Choose a number from below, or type in your own value
18002           1 / Owner gets Full_CONTROL. No one else has access rights (default).
18003             \ "default"
18004          [snip]
18005          acl> 1
18006          The storage class to use when storing new objects in Tencent COS.
18007          Enter a string value. Press Enter for the default ("").
18008          Choose a number from below, or type in your own value
18009           1 / Default
18010             \ ""
18011          [snip]
18012          storage_class> 1
18013          Edit advanced config? (y/n)
18014          y) Yes
18015          n) No (default)
18016          y/n> n
18017          Remote config
18018          --------------------
18019          [cos]
18020          type = s3
18021          provider = TencentCOS
18022          env_auth = false
18023          access_key_id = xxx
18024          secret_access_key = xxx
18025          endpoint = cos.ap-guangzhou.myqcloud.com
18026          acl = default
18027          --------------------
18028          y) Yes this is OK (default)
18029          e) Edit this remote
18030          d) Delete this remote
18031          y/e/d> y
18032          Current remotes:
18033
18034          Name                 Type
18035          ====                 ====
18036          cos                  s3
18037
18038   Netease NOS
18039       For Netease NOS configure as per the configurator rclone config setting
18040       the  provider  Netease.  This will automatically set force_path_style =
18041       false which is necessary for it to run properly.
18042
18043   Limitations
18044       rclone about is not supported by the S3 backend.  Backends without this
18045       capability cannot determine free space for an rclone mount or use poli‐
18046       cy mfs (most free space) as a member of an rclone union remote.
18047
18048       See   List   of   backends   that   do   not   support   rclone   about
18049       (https://rclone.org/overview/#optional-features)   See   rclone   about
18050       (https://rclone.org/commands/rclone_about/)
18051

Backblaze B2

18053       B2 is Backblaze's cloud storage system (https://www.backblaze.com/b2/).
18054
18055       Paths are specified as remote:bucket (or remote: for the lsd  command.)
18056       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
18057
18058   Configuration
18059       Here is an example of making a b2 configuration.  First run
18060
18061              rclone config
18062
18063       This will guide you through an interactive setup process.  To authenti‐
18064       cate you will either need your Account ID (a short hex number) and Mas‐
18065       ter Application Key (a long hex number) OR an Application Key, which is
18066       the recommended method.  See below for further  details  on  generating
18067       and using an Application Key.
18068
18069              No remotes found - make a new one
18070              n) New remote
18071              q) Quit config
18072              n/q> n
18073              name> remote
18074              Type of storage to configure.
18075              Choose a number from below, or type in your own value
18076              [snip]
18077              XX / Backblaze B2
18078                 \ "b2"
18079              [snip]
18080              Storage> b2
18081              Account ID or Application Key ID
18082              account> 123456789abc
18083              Application Key
18084              key> 0123456789abcdef0123456789abcdef0123456789
18085              Endpoint for the service - leave blank normally.
18086              endpoint>
18087              Remote config
18088              --------------------
18089              [remote]
18090              account = 123456789abc
18091              key = 0123456789abcdef0123456789abcdef0123456789
18092              endpoint =
18093              --------------------
18094              y) Yes this is OK
18095              e) Edit this remote
18096              d) Delete this remote
18097              y/e/d> y
18098
18099       This remote is called remote and can now be used like this
18100
18101       See all buckets
18102
18103              rclone lsd remote:
18104
18105       Create a new bucket
18106
18107              rclone mkdir remote:bucket
18108
18109       List the contents of a bucket
18110
18111              rclone ls remote:bucket
18112
18113       Sync  /home/local/directory  to  the remote bucket, deleting any excess
18114       files in the bucket.
18115
18116              rclone sync -i /home/local/directory remote:bucket
18117
18118   Application Keys
18119       B2 supports multiple Application Keys for different  access  permission
18120       to      B2      Buckets     (https://www.backblaze.com/b2/docs/applica
18121       tion_keys.html).
18122
18123       You can use these with rclone too; you will need to use rclone  version
18124       1.43 or later.
18125
18126       Follow  Backblaze's docs to create an Application Key with the required
18127       permission and add the applicationKeyId as the account and the Applica‐
18128       tion Key itself as the key.
18129
18130       Note  that you must put the applicationKeyId as the account – you can't
18131       use the master Account ID.  If you try then B2 will return 401 errors.
18132
18133   --fast-list
18134       This remote supports --fast-list which allows you to use fewer transac‐
18135       tions   in   exchange   for   more   memory.    See   the  rclone  docs
18136       (https://rclone.org/docs/#fast-list) for more details.
18137
18138   Modified time
18139       The modified time is stored as  metadata  on  the  object  as  X-Bz-In‐
18140       fo-src_last_modified_millis  as  milliseconds  since  1970-01-01 in the
18141       Backblaze standard.  Other tools should be able to use this as a  modi‐
18142       fied time.
18143
18144       Modified  times are used in syncing and are fully supported.  Note that
18145       if a modification time needs to be updated on an object  then  it  will
18146       create a new version of the object.
18147
18148   Restricted filename characters
18149       In    addition    to    the    default    restricted   characters   set
18150       (https://rclone.org/overview/#restricted-characters)   the    following
18151       characters are also replaced:
18152
18153       Character   Value   Replacement
18154       ────────────────────────────────
18155       \           0x5C        \
18156
18157       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
18158       view/#invalid-utf8), as they can't be used in JSON strings.
18159
18160       Note that in 2020-05 Backblaze started  allowing   characters  in  file
18161       names.  Rclone hasn't changed its encoding as this could cause syncs to
18162       re-transfer files.  If you want rclone not to  replace   then  see  the
18163       --b2-encoding  flag  below  and  remove  the BackSlash from the string.
18164       This can be set in the config.
18165
18166   SHA1 checksums
18167       The SHA1 checksums of the files are checked on upload and download  and
18168       will be used in the syncing process.
18169
18170       Large files (bigger than the limit in --b2-upload-cutoff) which are up‐
18171       loaded in chunks will store  their  SHA1  on  the  object  as  X-Bz-In‐
18172       fo-large_file_sha1 as recommended by Backblaze.
18173
18174       For a large file to be uploaded with an SHA1 checksum, the source needs
18175       to support SHA1 checksums.  The local disk supports SHA1  checksums  so
18176       large  file transfers from local disk will have an SHA1.  See the over‐
18177       view (https://rclone.org/overview/#features) for exactly which  remotes
18178       support SHA1.
18179
18180       Sources which don't support SHA1, in particular crypt will upload large
18181       files without SHA1 checksums.  This may be fixed  in  the  future  (see
18182       #1767 (https://github.com/rclone/rclone/issues/1767)).
18183
18184       Files  sizes  below --b2-upload-cutoff will always have an SHA1 regard‐
18185       less of the source.
18186
18187   Transfers
18188       Backblaze recommends that you do lots of transfers  simultaneously  for
18189       maximum  speed.   In tests from my SSD equipped laptop the optimum set‐
18190       ting is about --transfers 32 though higher numbers may be  used  for  a
18191       slight  speed improvement.  The optimum number for you may vary depend‐
18192       ing on your hardware, how big the files are, how much you want to  load
18193       your computer, etc.  The default of --transfers 4 is definitely too low
18194       for Backblaze B2 though.
18195
18196       Note that uploading big files (bigger than 200 MiB by default) will use
18197       a  96  MiB  RAM buffer by default.  There can be at most --transfers of
18198       these in use at any moment, so this sets the upper limit on the  memory
18199       used.
18200
18201   Versions
18202       When rclone uploads a new version of a file it creates a new version of
18203       it  (https://www.backblaze.com/b2/docs/file_versions.html).    Likewise
18204       when you delete a file, the old version will be marked hidden and still
18205       be available.  Conversely, you may opt in to a "hard delete"  of  files
18206       with  the --b2-hard-delete flag which would permanently remove the file
18207       instead of hiding it.
18208
18209       Old versions of files, where available, are visible using the --b2-ver‐
18210       sions flag.
18211
18212       If  you wish to remove all the old versions then you can use the rclone
18213       cleanup remote:bucket command which will delete all the old versions of
18214       files, leaving the current ones intact.  You can also supply a path and
18215       only old versions under that path will be deleted, e.g.  rclone cleanup
18216       remote:bucket/path/to/stuff.
18217
18218       Note  that cleanup will remove partially uploaded files from the bucket
18219       if they are more than a day old.
18220
18221       When you purge a bucket, the current  and  the  old  versions  will  be
18222       deleted then the bucket will be deleted.
18223
18224       However  delete  will cause the current versions of the files to become
18225       hidden old versions.
18226
18227       Here is a session showing the listing and retrieval of an  old  version
18228       followed by a cleanup of the old versions.
18229
18230       Show current version and all the versions with --b2-versions flag.
18231
18232              $ rclone -q ls b2:cleanup-test
18233                      9 one.txt
18234
18235              $ rclone -q --b2-versions ls b2:cleanup-test
18236                      9 one.txt
18237                      8 one-v2016-07-04-141032-000.txt
18238                     16 one-v2016-07-04-141003-000.txt
18239                     15 one-v2016-07-02-155621-000.txt
18240
18241       Retrieve an old version
18242
18243              $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
18244
18245              $ ls -l /tmp/one-v2016-07-04-141003-000.txt
18246              -rw-rw-r-- 1 ncw ncw 16 Jul  2 17:46 /tmp/one-v2016-07-04-141003-000.txt
18247
18248       Clean up all the old versions and show that they've gone.
18249
18250              $ rclone -q cleanup b2:cleanup-test
18251
18252              $ rclone -q ls b2:cleanup-test
18253                      9 one.txt
18254
18255              $ rclone -q --b2-versions ls b2:cleanup-test
18256                      9 one.txt
18257
18258   Data usage
18259       It  is  useful to know how many requests are sent to the server in dif‐
18260       ferent scenarios.
18261
18262       All copy commands send the following 4 requests:
18263
18264              /b2api/v1/b2_authorize_account
18265              /b2api/v1/b2_create_bucket
18266              /b2api/v1/b2_list_buckets
18267              /b2api/v1/b2_list_file_names
18268
18269       The b2_list_file_names request will be sent once for every 1k files  in
18270       the  remote  path,  providing the checksum and modification time of the
18271       listed    files.      As     of     version     1.33     issue     #818
18272       (https://github.com/rclone/rclone/issues/818)  causes extra requests to
18273       be sent when using B2 with Crypt.  When a copy operation does  not  re‐
18274       quire any files to be uploaded, no more requests will be sent.
18275
18276       Uploading  files that do not require chunking, will send 2 requests per
18277       file upload:
18278
18279              /b2api/v1/b2_get_upload_url
18280              /b2api/v1/b2_upload_file/
18281
18282       Uploading files requiring chunking, will send 2 requests (one  each  to
18283       start and finish the upload) and another 2 requests for each chunk:
18284
18285              /b2api/v1/b2_start_large_file
18286              /b2api/v1/b2_get_upload_part_url
18287              /b2api/v1/b2_upload_part/
18288              /b2api/v1/b2_finish_large_file
18289
18290   Versions
18291       Versions  can  be  viewed  with the --b2-versions flag.  When it is set
18292       rclone will show and act on older versions of files.  For example
18293
18294       Listing without --b2-versions
18295
18296              $ rclone -q ls b2:cleanup-test
18297                      9 one.txt
18298
18299       And with
18300
18301              $ rclone -q --b2-versions ls b2:cleanup-test
18302                      9 one.txt
18303                      8 one-v2016-07-04-141032-000.txt
18304                     16 one-v2016-07-04-141003-000.txt
18305                     15 one-v2016-07-02-155621-000.txt
18306
18307       Showing that the current version is unchanged but older versions can be
18308       seen.  These have the UTC date that they were uploaded to the server to
18309       the nearest millisecond appended to them.
18310
18311       Note that when using --b2-versions no file write operations are permit‐
18312       ted, so you can't upload files or delete them.
18313
18314   B2 and rclone link
18315       Rclone  supports  generating  file  share links for private B2 buckets.
18316       They can either be for a file for example:
18317
18318              ./rclone link B2:bucket/path/to/file.txt
18319              https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
18320
18321       or if run on a directory you will get:
18322
18323              ./rclone link B2:bucket/path
18324              https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
18325
18326       you can then use the authorization token (the part of the url from  the
18327       ?Authorization=  on)  on any file path under that directory.  For exam‐
18328       ple:
18329
18330              https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
18331              https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
18332              https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
18333
18334   Standard options
18335       Here are the standard options specific to b2 (Backblaze B2).
18336
18337   --b2-account
18338       Account ID or Application Key ID.
18339
18340       • Config: account
18341
18342       • Env Var: RCLONE_B2_ACCOUNT
18343
18344       • Type: string
18345
18346       • Default: ""
18347
18348   --b2-key
18349       Application Key.
18350
18351       • Config: key
18352
18353       • Env Var: RCLONE_B2_KEY
18354
18355       • Type: string
18356
18357       • Default: ""
18358
18359   --b2-hard-delete
18360       Permanently delete files on remote removal, otherwise hide files.
18361
18362       • Config: hard_delete
18363
18364       • Env Var: RCLONE_B2_HARD_DELETE
18365
18366       • Type: bool
18367
18368       • Default: false
18369
18370   Advanced options
18371       Here are the advanced options specific to b2 (Backblaze B2).
18372
18373   --b2-endpoint
18374       Endpoint for the service.
18375
18376       Leave blank normally.
18377
18378       • Config: endpoint
18379
18380       • Env Var: RCLONE_B2_ENDPOINT
18381
18382       • Type: string
18383
18384       • Default: ""
18385
18386   --b2-test-mode
18387       A flag string for X-Bz-Test-Mode header for debugging.
18388
18389       This is for debugging purposes only.  Setting it to one of the  strings
18390       below will cause b2 to return specific errors:
18391
18392       • "fail_some_uploads"
18393
18394       • "expire_some_account_authorization_tokens"
18395
18396       • "force_cap_exceeded"
18397
18398       These will be set in the "X-Bz-Test-Mode" header which is documented in
18399       the b2 integrations checklist  (https://www.backblaze.com/b2/docs/inte
18400       gration_checklist.html).
18401
18402       • Config: test_mode
18403
18404       • Env Var: RCLONE_B2_TEST_MODE
18405
18406       • Type: string
18407
18408       • Default: ""
18409
18410   --b2-versions
18411       Include old versions in directory listings.
18412
18413       Note  that  when  using this no file write operations are permitted, so
18414       you can't upload files or delete them.
18415
18416       • Config: versions
18417
18418       • Env Var: RCLONE_B2_VERSIONS
18419
18420       • Type: bool
18421
18422       • Default: false
18423
18424   --b2-upload-cutoff
18425       Cutoff for switching to chunked upload.
18426
18427       Files above this size will be uploaded in chunks of "--b2-chunk-size".
18428
18429       This value should be set no larger than 4.657 GiB (== 5 GB).
18430
18431       • Config: upload_cutoff
18432
18433       • Env Var: RCLONE_B2_UPLOAD_CUTOFF
18434
18435       • Type: SizeSuffix
18436
18437       • Default: 200Mi
18438
18439   --b2-copy-cutoff
18440       Cutoff for switching to multipart copy.
18441
18442       Any files larger than this that need to be server-side copied  will  be
18443       copied in chunks of this size.
18444
18445       The minimum is 0 and the maximum is 4.6 GiB.
18446
18447       • Config: copy_cutoff
18448
18449       • Env Var: RCLONE_B2_COPY_CUTOFF
18450
18451       • Type: SizeSuffix
18452
18453       • Default: 4Gi
18454
18455   --b2-chunk-size
18456       Upload chunk size.
18457
18458       When uploading large files, chunk the file into this size.
18459
18460       Must  fit  in  memory.   These  chunks are buffered in memory and there
18461       might a maximum of "--transfers" chunks in progress at once.
18462
18463       5,000,000 Bytes is the minimum size.
18464
18465       • Config: chunk_size
18466
18467       • Env Var: RCLONE_B2_CHUNK_SIZE
18468
18469       • Type: SizeSuffix
18470
18471       • Default: 96Mi
18472
18473   --b2-disable-checksum
18474       Disable checksums for large (> upload cutoff) files.
18475
18476       Normally rclone will calculate the SHA1 checksum of  the  input  before
18477       uploading it so it can add it to metadata on the object.  This is great
18478       for data integrity checking but can cause long delays for  large  files
18479       to start uploading.
18480
18481       • Config: disable_checksum
18482
18483       • Env Var: RCLONE_B2_DISABLE_CHECKSUM
18484
18485       • Type: bool
18486
18487       • Default: false
18488
18489   --b2-download-url
18490       Custom endpoint for downloads.
18491
18492       This  is  usually  set to a Cloudflare CDN URL as Backblaze offers free
18493       egress for data downloaded  through  the  Cloudflare  network.   Rclone
18494       works  with  private  buckets by sending an "Authorization" header.  If
18495       the custom endpoint rewrites the requests for authentication, e.g.,  in
18496       Cloudflare  Workers,  this  header needs to be handled properly.  Leave
18497       blank if you want to use the endpoint provided by Backblaze.
18498
18499       • Config: download_url
18500
18501       • Env Var: RCLONE_B2_DOWNLOAD_URL
18502
18503       • Type: string
18504
18505       • Default: ""
18506
18507   --b2-download-auth-duration
18508       Time before  the  authorization  token  will  expire  in  s  or  suffix
18509       ms|s|m|h|d.
18510
18511       The  duration before the download authorization token will expire.  The
18512       minimum value is 1 second.  The maximum value is one week.
18513
18514       • Config: download_auth_duration
18515
18516       • Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
18517
18518       • Type: Duration
18519
18520       • Default: 1w
18521
18522   --b2-memory-pool-flush-time
18523       How often internal memory buffer pools will be flushed.  Uploads  which
18524       requires  additional  buffers  (f.e multipart) will use memory pool for
18525       allocations.  This option controls how often unused buffers will be re‐
18526       moved from the pool.
18527
18528       • Config: memory_pool_flush_time
18529
18530       • Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME
18531
18532       • Type: Duration
18533
18534       • Default: 1m0s
18535
18536   --b2-memory-pool-use-mmap
18537       Whether to use mmap buffers in internal memory pool.
18538
18539       • Config: memory_pool_use_mmap
18540
18541       • Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP
18542
18543       • Type: bool
18544
18545       • Default: false
18546
18547   --b2-encoding
18548       This sets the encoding for the backend.
18549
18550       See  the  encoding  section  in  the overview (https://rclone.org/over
18551       view/#encoding) for more info.
18552
18553       • Config: encoding
18554
18555       • Env Var: RCLONE_B2_ENCODING
18556
18557       • Type: MultiEncoder
18558
18559       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
18560
18561   Limitations
18562       rclone about is not supported by the B2 backend.  Backends without this
18563       capability cannot determine free space for an rclone mount or use poli‐
18564       cy mfs (most free space) as a member of an rclone union remote.
18565
18566       See   List   of   backends   that   do   not   support   rclone   about
18567       (https://rclone.org/overview/#optional-features)   See   rclone   about
18568       (https://rclone.org/commands/rclone_about/)
18569

Box

18571       Paths are specified as remote:path
18572
18573       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
18574
18575       The initial setup for Box involves getting a token from Box  which  you
18576       can  do  either  in your browser, or with a config.json downloaded from
18577       Box to use JWT authentication.  rclone config walks you through it.
18578
18579   Configuration
18580       Here is an example of how to make a remote called remote.  First run:
18581
18582               rclone config
18583
18584       This will guide you through an interactive setup process:
18585
18586              No remotes found - make a new one
18587              n) New remote
18588              s) Set configuration password
18589              q) Quit config
18590              n/s/q> n
18591              name> remote
18592              Type of storage to configure.
18593              Choose a number from below, or type in your own value
18594              [snip]
18595              XX / Box
18596                 \ "box"
18597              [snip]
18598              Storage> box
18599              Box App Client Id - leave blank normally.
18600              client_id>
18601              Box App Client Secret - leave blank normally.
18602              client_secret>
18603              Box App config.json location
18604              Leave blank normally.
18605              Enter a string value. Press Enter for the default ("").
18606              box_config_file>
18607              Box App Primary Access Token
18608              Leave blank normally.
18609              Enter a string value. Press Enter for the default ("").
18610              access_token>
18611
18612              Enter a string value. Press Enter for the default ("user").
18613              Choose a number from below, or type in your own value
18614               1 / Rclone should act on behalf of a user
18615                 \ "user"
18616               2 / Rclone should act on behalf of a service account
18617                 \ "enterprise"
18618              box_sub_type>
18619              Remote config
18620              Use auto config?
18621               * Say Y if not sure
18622               * Say N if you are working on a remote or headless machine
18623              y) Yes
18624              n) No
18625              y/n> y
18626              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
18627              Log in and authorize rclone for access
18628              Waiting for code...
18629              Got code
18630              --------------------
18631              [remote]
18632              client_id =
18633              client_secret =
18634              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
18635              --------------------
18636              y) Yes this is OK
18637              e) Edit this remote
18638              d) Delete this remote
18639              y/e/d> y
18640
18641       See the remote setup docs (https://rclone.org/remote_setup/) for how to
18642       set it up on a machine with no Internet browser available.
18643
18644       Note  that rclone runs a webserver on your local machine to collect the
18645       token as returned from Box.  This only runs from the  moment  it  opens
18646       your browser to the moment you get back the verification code.  This is
18647       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
18648       temporarily if you are running a host firewall.
18649
18650       Once configured you can then use rclone like this,
18651
18652       List directories in top level of your Box
18653
18654              rclone lsd remote:
18655
18656       List all the files in your Box
18657
18658              rclone ls remote:
18659
18660       To copy a local directory to an Box directory called backup
18661
18662              rclone copy /home/source remote:backup
18663
18664   Using rclone with an Enterprise account with SSO
18665       If  you  have an "Enterprise" account type with Box with single sign on
18666       (SSO), you need to create a password to use Box with rclone.  This  can
18667       be  done at your Enterprise Box account by going to Settings, "Account"
18668       Tab, and then set the password in the "Authentication" field.
18669
18670       Once you have done this, you can setup your Enterprise Box account  us‐
18671       ing  the  same  procedure detailed above in the, using the password you
18672       have just set.
18673
18674   Invalid refresh token
18675       According      to      the       box       docs       (https://develop
18676       er.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-
18677       tokens):
18678
18679              Each refresh_token is valid for one use in 60 days.
18680
18681       This means that if you
18682
18683       • Don't use the box remote for 60 days
18684
18685       • Copy the config file with a box refresh token in and use  it  in  two
18686         places
18687
18688       • Get an error on a token refresh
18689
18690       then  rclone  will  return an error which includes the text Invalid re‐
18691       fresh token.
18692
18693       To fix this you will need to use oauth2 again to update the refresh to‐
18694       ken.    You   can   use   the   methods   in   the  remote  setup  docs
18695       (https://rclone.org/remote_setup/), bearing in mind that if you use the
18696       copy the config file method, you should not use that remote on the com‐
18697       puter you did the authentication on.
18698
18699       Here is how to do it.
18700
18701              $ rclone config
18702              Current remotes:
18703
18704              Name                 Type
18705              ====                 ====
18706              remote               box
18707
18708              e) Edit existing remote
18709              n) New remote
18710              d) Delete remote
18711              r) Rename remote
18712              c) Copy remote
18713              s) Set configuration password
18714              q) Quit config
18715              e/n/d/r/c/s/q> e
18716              Choose a number from below, or type in an existing value
18717               1 > remote
18718              remote> remote
18719              --------------------
18720              [remote]
18721              type = box
18722              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
18723              --------------------
18724              Edit remote
18725              Value "client_id" = ""
18726              Edit? (y/n)>
18727              y) Yes
18728              n) No
18729              y/n> n
18730              Value "client_secret" = ""
18731              Edit? (y/n)>
18732              y) Yes
18733              n) No
18734              y/n> n
18735              Remote config
18736              Already have a token - refresh?
18737              y) Yes
18738              n) No
18739              y/n> y
18740              Use auto config?
18741               * Say Y if not sure
18742               * Say N if you are working on a remote or headless machine
18743              y) Yes
18744              n) No
18745              y/n> y
18746              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
18747              Log in and authorize rclone for access
18748              Waiting for code...
18749              Got code
18750              --------------------
18751              [remote]
18752              type = box
18753              token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
18754              --------------------
18755              y) Yes this is OK
18756              e) Edit this remote
18757              d) Delete this remote
18758              y/e/d> y
18759
18760   Modified time and hashes
18761       Box allows modification times to be set on objects accurate to  1  sec‐
18762       ond.  These will be used to detect whether objects need syncing or not.
18763
18764       Box supports SHA1 type hashes, so you can use the --checksum flag.
18765
18766   Restricted filename characters
18767       In    addition    to    the    default    restricted   characters   set
18768       (https://rclone.org/overview/#restricted-characters)   the    following
18769       characters are also replaced:
18770
18771       Character   Value   Replacement
18772       ────────────────────────────────
18773       \           0x5C        \
18774
18775       File  names can also not end with the following characters.  These only
18776       get replaced if they are the last character in the name:
18777
18778       Character   Value   Replacement
18779       ────────────────────────────────
18780       SP          0x20         ␠
18781
18782       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
18783       view/#invalid-utf8), as they can't be used in JSON strings.
18784
18785   Transfers
18786       For files above 50 MiB rclone will use a chunked transfer.  Rclone will
18787       upload up to --transfers chunks at the same time (shared among all  the
18788       multipart  uploads).   Chunks are buffered in memory and are normally 8
18789       MiB so increasing --transfers will increase memory use.
18790
18791   Deleting files
18792       Depending on the enterprise settings for your user, the item  will  ei‐
18793       ther be actually deleted from Box or moved to the trash.
18794
18795       Emptying  the trash is supported via the rclone however cleanup command
18796       however this deletes every trashed file and folder individually  so  it
18797       may  take  a very long time.  Emptying the trash via the WebUI does not
18798       have this limitation so it is advised to empty the trash via the WebUI.
18799
18800   Root folder ID
18801       You can set the root_folder_id  for  rclone.   This  is  the  directory
18802       (identified  by  its Folder ID) that rclone considers to be the root of
18803       your Box drive.
18804
18805       Normally you will leave this blank and rclone will determine  the  cor‐
18806       rect root to use itself.
18807
18808       However  you can set this to restrict rclone to a specific folder hier‐
18809       archy.
18810
18811       In order to do this you will have to find the Folder ID of the directo‐
18812       ry  you  wish  rclone to display.  This will be the last segment of the
18813       URL when you open the relevant folder in the Box web interface.
18814
18815       So if the folder you want rclone to use has  a  URL  which  looks  like
18816       https://app.box.com/folder/11xxxxxxxxx8  in  the  browser, then you use
18817       11xxxxxxxxx8 as the root_folder_id in the config.
18818
18819   Standard options
18820       Here are the standard options specific to box (Box).
18821
18822   --box-client-id
18823       OAuth Client Id.
18824
18825       Leave blank normally.
18826
18827       • Config: client_id
18828
18829       • Env Var: RCLONE_BOX_CLIENT_ID
18830
18831       • Type: string
18832
18833       • Default: ""
18834
18835   --box-client-secret
18836       OAuth Client Secret.
18837
18838       Leave blank normally.
18839
18840       • Config: client_secret
18841
18842       • Env Var: RCLONE_BOX_CLIENT_SECRET
18843
18844       • Type: string
18845
18846       • Default: ""
18847
18848   --box-box-config-file
18849       Box App config.json location
18850
18851       Leave blank normally.
18852
18853       Leading ~ will be expanded in the file name as will  environment  vari‐
18854       ables such as ${RCLONE_CONFIG_DIR}.
18855
18856       • Config: box_config_file
18857
18858       • Env Var: RCLONE_BOX_BOX_CONFIG_FILE
18859
18860       • Type: string
18861
18862       • Default: ""
18863
18864   --box-access-token
18865       Box App Primary Access Token
18866
18867       Leave blank normally.
18868
18869       • Config: access_token
18870
18871       • Env Var: RCLONE_BOX_ACCESS_TOKEN
18872
18873       • Type: string
18874
18875       • Default: ""
18876
18877   --box-box-sub-type
18878       • Config: box_sub_type
18879
18880       • Env Var: RCLONE_BOX_BOX_SUB_TYPE
18881
18882       • Type: string
18883
18884       • Default: "user"
18885
18886       • Examples:
18887
18888         • "user"
18889
18890           • Rclone should act on behalf of a user.
18891
18892         • "enterprise"
18893
18894           • Rclone should act on behalf of a service account.
18895
18896   Advanced options
18897       Here are the advanced options specific to box (Box).
18898
18899   --box-token
18900       OAuth Access Token as a JSON blob.
18901
18902       • Config: token
18903
18904       • Env Var: RCLONE_BOX_TOKEN
18905
18906       • Type: string
18907
18908       • Default: ""
18909
18910   --box-auth-url
18911       Auth server URL.
18912
18913       Leave blank to use the provider defaults.
18914
18915       • Config: auth_url
18916
18917       • Env Var: RCLONE_BOX_AUTH_URL
18918
18919       • Type: string
18920
18921       • Default: ""
18922
18923   --box-token-url
18924       Token server url.
18925
18926       Leave blank to use the provider defaults.
18927
18928       • Config: token_url
18929
18930       • Env Var: RCLONE_BOX_TOKEN_URL
18931
18932       • Type: string
18933
18934       • Default: ""
18935
18936   --box-root-folder-id
18937       Fill in for rclone to use a non root folder as its starting point.
18938
18939       • Config: root_folder_id
18940
18941       • Env Var: RCLONE_BOX_ROOT_FOLDER_ID
18942
18943       • Type: string
18944
18945       • Default: "0"
18946
18947   --box-upload-cutoff
18948       Cutoff for switching to multipart upload (>= 50 MiB).
18949
18950       • Config: upload_cutoff
18951
18952       • Env Var: RCLONE_BOX_UPLOAD_CUTOFF
18953
18954       • Type: SizeSuffix
18955
18956       • Default: 50Mi
18957
18958   --box-commit-retries
18959       Max number of times to try committing a multipart file.
18960
18961       • Config: commit_retries
18962
18963       • Env Var: RCLONE_BOX_COMMIT_RETRIES
18964
18965       • Type: int
18966
18967       • Default: 100
18968
18969   --box-list-chunk
18970       Size of listing chunk 1-1000.
18971
18972       • Config: list_chunk
18973
18974       • Env Var: RCLONE_BOX_LIST_CHUNK
18975
18976       • Type: int
18977
18978       • Default: 1000
18979
18980   --box-owned-by
18981       Only show items owned by the login (email address) passed in.
18982
18983       • Config: owned_by
18984
18985       • Env Var: RCLONE_BOX_OWNED_BY
18986
18987       • Type: string
18988
18989       • Default: ""
18990
18991   --box-encoding
18992       This sets the encoding for the backend.
18993
18994       See  the  encoding  section  in  the overview (https://rclone.org/over
18995       view/#encoding) for more info.
18996
18997       • Config: encoding
18998
18999       • Env Var: RCLONE_BOX_ENCODING
19000
19001       • Type: MultiEncoder
19002
19003       • Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
19004
19005   Limitations
19006       Note that Box is case insensitive so you can't have a file called "Hel‐
19007       lo.doc" and one called "hello.doc".
19008
19009       Box  file names can't have the \ character in.  rclone maps this to and
19010       from an identical looking unicode equivalent \ (U+FF3C  Fullwidth  Re‐
19011       verse Solidus).
19012
19013       Box only supports filenames up to 255 characters in length.
19014
19015       rclone  about  is  not  supported by the Box backend.  Backends without
19016       this capability cannot determine free space for an rclone mount or  use
19017       policy mfs (most free space) as a member of an rclone union remote.
19018
19019       See   List   of   backends   that   do   not   support   rclone   about
19020       (https://rclone.org/overview/#optional-features)   See   rclone   about
19021       (https://rclone.org/commands/rclone_about/)
19022

Cache (DEPRECATED)

19024       The  cache  remote wraps another existing remote and stores file struc‐
19025       ture and its data for long running tasks like rclone mount.
19026
19027   Status
19028       The cache backend code is working but it currently doesn't have a main‐
19029       tainer        so        there        are        outstanding        bugs
19030       (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+la‐
19031       bel%3Abug+label%3A%22Remote%3A+Cache%22) which aren't getting fixed.
19032
19033       The  cache backend is due to be phased out in favour of the VFS caching
19034       layer eventually which is more tightly integrated into rclone.
19035
19036       Until this happens we recommend only using the  cache  backend  if  you
19037       find  you can't work without it.  There are many docs online describing
19038       the use of the cache backend to  minimize  API  hits  and  by-and-large
19039       these  are out of date and the cache backend isn't needed in those sce‐
19040       narios any more.
19041
19042   Configuration
19043       To get started you just need to have an existing remote  which  can  be
19044       configured with cache.
19045
19046       Here  is  an  example of how to make a remote called test-cache.  First
19047       run:
19048
19049               rclone config
19050
19051       This will guide you through an interactive setup process:
19052
19053              No remotes found - make a new one
19054              n) New remote
19055              r) Rename remote
19056              c) Copy remote
19057              s) Set configuration password
19058              q) Quit config
19059              n/r/c/s/q> n
19060              name> test-cache
19061              Type of storage to configure.
19062              Choose a number from below, or type in your own value
19063              [snip]
19064              XX / Cache a remote
19065                 \ "cache"
19066              [snip]
19067              Storage> cache
19068              Remote to cache.
19069              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
19070              "myremote:bucket" or maybe "myremote:" (not recommended).
19071              remote> local:/test
19072              Optional: The URL of the Plex server
19073              plex_url> http://127.0.0.1:32400
19074              Optional: The username of the Plex user
19075              plex_username> dummyusername
19076              Optional: The password of the Plex user
19077              y) Yes type in my own password
19078              g) Generate random password
19079              n) No leave this optional password blank
19080              y/g/n> y
19081              Enter the password:
19082              password:
19083              Confirm the password:
19084              password:
19085              The size of a chunk. Lower value good for slow connections but can affect seamless reading.
19086              Default: 5M
19087              Choose a number from below, or type in your own value
19088               1 / 1 MiB
19089                 \ "1M"
19090               2 / 5 MiB
19091                 \ "5M"
19092               3 / 10 MiB
19093                 \ "10M"
19094              chunk_size> 2
19095              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.
19096              Accepted units are: "s", "m", "h".
19097              Default: 5m
19098              Choose a number from below, or type in your own value
19099               1 / 1 hour
19100                 \ "1h"
19101               2 / 24 hours
19102                 \ "24h"
19103               3 / 24 hours
19104                 \ "48h"
19105              info_age> 2
19106              The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
19107              Default: 10G
19108              Choose a number from below, or type in your own value
19109               1 / 500 MiB
19110                 \ "500M"
19111               2 / 1 GiB
19112                 \ "1G"
19113               3 / 10 GiB
19114                 \ "10G"
19115              chunk_total_size> 3
19116              Remote config
19117              --------------------
19118              [test-cache]
19119              remote = local:/test
19120              plex_url = http://127.0.0.1:32400
19121              plex_username = dummyusername
19122              plex_password = *** ENCRYPTED ***
19123              chunk_size = 5M
19124              info_age = 48h
19125              chunk_total_size = 10G
19126
19127       You can then use it like this,
19128
19129       List directories in top level of your drive
19130
19131              rclone lsd test-cache:
19132
19133       List all the files in your drive
19134
19135              rclone ls test-cache:
19136
19137       To start a cached mount
19138
19139              rclone mount --allow-other test-cache: /var/tmp/test-cache
19140
19141   Write Features
19142   Offline uploading
19143       In an effort to make writing through cache more reliable,  the  backend
19144       now  supports  this  feature  which  can  be  activated by specifying a
19145       cache-tmp-upload-path.
19146
19147       A files goes through these states when using this feature:
19148
19149       1. An upload is started (usually by copying a file on the cache remote)
19150
19151       2. When the copy to the temporary location is complete the file is part
19152          of  the  cached  remote  and  looks  and behaves like any other file
19153          (reading included)
19154
19155       3. After cache-tmp-wait-time passes and  the  file  is  next  in  line,
19156          rclone move is used to move the file to the cloud provider
19157
19158       4. Reading  the  file  still works during the upload but most modifica‐
19159          tions on it will be prohibited
19160
19161       5. Once the move is complete the file is unlocked for modifications  as
19162          it becomes as any other regular file
19163
19164       6. If  the  file is being read through cache when it's actually deleted
19165          from the temporary path then cache will simply swap  the  source  to
19166          the  cloud provider without interrupting the reading (small blip can
19167          happen though)
19168
19169       Files are uploaded in sequence and only one file is uploaded at a time.
19170       Uploads  will  be stored in a queue and be processed based on the order
19171       they were added.  The queue and the  temporary  storage  is  persistent
19172       across restarts but can be cleared on startup with the --cache-db-purge
19173       flag.
19174
19175   Write Support
19176       Writes are supported through cache.  One caveat is that a mounted cache
19177       remote does not add any retry or fallback mechanism to the upload oper‐
19178       ation.  This will depend on the implementation of the  wrapped  remote.
19179       Consider using Offline uploading for reliable writes.
19180
19181       One special case is covered with cache-writes which will cache the file
19182       data at the same time as the upload when it is enabled making it avail‐
19183       able from the cache store immediately once the upload is finished.
19184
19185   Read Features
19186   Multiple connections
19187       To  counter the high latency between a local PC where rclone is running
19188       and cloud providers, the cache remote can split  multiple  requests  to
19189       the  cloud  provider for smaller file chunks and combines them together
19190       locally where they can be available almost immediately before the read‐
19191       er usually needs them.
19192
19193       This  is  similar  to  buffering  when  media  files are played online.
19194       Rclone will stay around the current marker but always try its  best  to
19195       stay ahead and prepare the data before.
19196
19197   Plex Integration
19198       There  is  a  direct integration with Plex which allows cache to detect
19199       during reading if the file is in playback or not.  This helps cache  to
19200       adapt  how  it  queries  the cloud provider depending on what is needed
19201       for.
19202
19203       Scans will have a minimum amount of workers (1) while  in  a  confirmed
19204       playback cache will deploy the configured number of workers.
19205
19206       This  integration  opens the doorway to additional performance improve‐
19207       ments which will be explored in the near future.
19208
19209       Note: If Plex options are not configured, cache will function with  its
19210       configured options without adapting any of its settings.
19211
19212       How  to  enable?   Run rclone config and add all the Plex options (end‐
19213       point, username and password) in your remote and it will  be  automati‐
19214       cally enabled.
19215
19216       Affected  settings:  - cache-workers: Configured value during confirmed
19217       playback or 1 all the other times
19218
19219   Certificate Validation
19220       When the Plex server is configured to only accept  secure  connections,
19221       it  is  possible to use .plex.direct URLs to ensure certificate valida‐
19222       tion succeeds.  These URLs are used by Plex internally  to  connect  to
19223       the Plex server securely.
19224
19225       The format for these URLs is the following:
19226
19227       https://ip-with-dots-replaced.server-hash.plex.direct:32400/
19228
19229       The  ip-with-dots-replaced part can be any IPv4 address, where the dots
19230       have been replaced with dashes, e.g.  127.0.0.1 becomes 127-0-0-1.
19231
19232       To get the server-hash part, the easiest way is to visit
19233
19234       https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-to‐
19235       ken
19236
19237       This  page  will  list  all the available Plex servers for your account
19238       with at least one .plex.direct link for each.  Copy one URL and replace
19239       the  IP  address  with  the  desired  address.  This can be used as the
19240       plex_url value.
19241
19242   Known issues
19243   Mount and --dir-cache-time
19244       --dir-cache-time controls the first layer of  directory  caching  which
19245       works  at the mount layer.  Being an independent caching mechanism from
19246       the cache backend, it will manage its own entries based on the  config‐
19247       ured time.
19248
19249       To  avoid  getting  in a scenario where dir cache has obsolete data and
19250       cache would have the correct one, try to set --dir-cache-time to a low‐
19251       er  time  than --cache-info-age.  Default values are already configured
19252       in this way.
19253
19254   Windows support - Experimental
19255       There are a couple of issues  with  Windows  mount  functionality  that
19256       still  require some investigations.  It should be considered as experi‐
19257       mental thus far as fixes come in for this OS.
19258
19259       Most of the issues  seem  to  be  related  to  the  difference  between
19260       filesystems  on Linux flavors and Windows as cache is heavily dependent
19261       on them.
19262
19263       Any reports or feedback on how cache behaves on this OS is greatly  ap‐
19264       preciated.
19265
19266https://github.com/rclone/rclone/issues/1935
19267
19268https://github.com/rclone/rclone/issues/1907
19269
19270https://github.com/rclone/rclone/issues/1834
19271
19272   Risk of throttling
19273       Future  iterations  of  the  cache backend will make use of the pooling
19274       functionality of the cloud provider to synchronize and at the same time
19275       make writing through it more tolerant to failures.
19276
19277       There  are  a  couple  of enhancements in track to add these but in the
19278       meantime there is a valid concern that the expiring cache listings  can
19279       lead  to cloud provider throttles or bans due to repeated queries on it
19280       for very large mounts.
19281
19282       Some recommendations: - don't use a very small interval for  entry  in‐
19283       formation  (--cache-info-age)  - while writes aren't yet optimised, you
19284       can still write through cache which gives you the advantage  of  adding
19285       the file in the cache at the same time if configured to do so.
19286
19287       Future enhancements:
19288
19289https://github.com/rclone/rclone/issues/1937
19290
19291https://github.com/rclone/rclone/issues/1936
19292
19293   cache and crypt
19294       One  common  scenario  is  to  keep  your  data  encrypted in the cloud
19295       provider using the crypt remote.  crypt uses  a  similar  technique  to
19296       wrap  around an existing remote and handles this translation in a seam‐
19297       less way.
19298
19299       There is an issue with wrapping the remotes in this order: cloud remote
19300       -> crypt -> cache
19301
19302       During  testing,  I  experienced a lot of bans with the remotes in this
19303       order.  I suspect it might be related to how crypt opens files  on  the
19304       cloud provider which makes it think we're downloading the full file in‐
19305       stead of small chunks.  Organizing the remotes  in  this  order  yields
19306       better results: cloud remote -> cache -> crypt
19307
19308   absolute remote paths
19309       cache can not differentiate between relative and absolute paths for the
19310       wrapped remote.  Any path given in the remote config setting and on the
19311       command  line will be passed to the wrapped remote as is, but for stor‐
19312       ing the chunks on disk the path will be made relative by  removing  any
19313       leading / character.
19314
19315       This behavior is irrelevant for most backend types, but there are back‐
19316       ends where a leading / changes the effective directory,  e.g.   in  the
19317       sftp  backend  paths  starting with a / are relative to the root of the
19318       SSH server and paths without are relative to the user  home  directory.
19319       As  a  result  sftp:bin and sftp:/bin will share the same cache folder,
19320       even if they represent a different directory on the SSH server.
19321
19322   Cache and Remote Control (--rc)
19323       Cache supports the new --rc mode in rclone and can be remote controlled
19324       through  the following end points: By default, the listener is disabled
19325       if you do not add the flag.
19326
19327   rc cache/expire
19328       Purge a remote from the cache backend.  Supports either a directory  or
19329       a file.  It supports both encrypted and unencrypted file names if cache
19330       is wrapped by crypt.
19331
19332       Params: - remote = path to remote (required) - withData = true/false to
19333       delete cached data (chunks) as well (optional, false by default)
19334
19335   Standard options
19336       Here are the standard options specific to cache (Cache a remote).
19337
19338   --cache-remote
19339       Remote to cache.
19340
19341       Normally should contain a ':' and a path, e.g.  "myremote:path/to/dir",
19342       "myremote:bucket" or maybe "myremote:" (not recommended).
19343
19344       • Config: remote
19345
19346       • Env Var: RCLONE_CACHE_REMOTE
19347
19348       • Type: string
19349
19350       • Default: ""
19351
19352   --cache-plex-url
19353       The URL of the Plex server.
19354
19355       • Config: plex_url
19356
19357       • Env Var: RCLONE_CACHE_PLEX_URL
19358
19359       • Type: string
19360
19361       • Default: ""
19362
19363   --cache-plex-username
19364       The username of the Plex user.
19365
19366       • Config: plex_username
19367
19368       • Env Var: RCLONE_CACHE_PLEX_USERNAME
19369
19370       • Type: string
19371
19372       • Default: ""
19373
19374   --cache-plex-password
19375       The password of the Plex user.
19376
19377       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
19378       (https://rclone.org/commands/rclone_obscure/).
19379
19380       • Config: plex_password
19381
19382       • Env Var: RCLONE_CACHE_PLEX_PASSWORD
19383
19384       • Type: string
19385
19386       • Default: ""
19387
19388   --cache-chunk-size
19389       The size of a chunk (partial file data).
19390
19391       Use  lower  numbers  for  slower  connections.   If  the  chunk size is
19392       changed, any downloaded chunks will  be  invalid  and  cache-chunk-path
19393       will need to be cleared or unexpected EOF errors will occur.
19394
19395       • Config: chunk_size
19396
19397       • Env Var: RCLONE_CACHE_CHUNK_SIZE
19398
19399       • Type: SizeSuffix
19400
19401       • Default: 5Mi
19402
19403       • Examples:
19404
19405         • "1M"
19406
19407           • 1 MiB
19408
19409         • "5M"
19410
19411           • 5 MiB
19412
19413         • "10M"
19414
19415           • 10 MiB
19416
19417   --cache-info-age
19418       How  long to cache file structure information (directory listings, file
19419       size, times, etc.).  If all write operations are done through the cache
19420       then  you can safely make this value very large as the cache store will
19421       also be updated in real time.
19422
19423       • Config: info_age
19424
19425       • Env Var: RCLONE_CACHE_INFO_AGE
19426
19427       • Type: Duration
19428
19429       • Default: 6h0m0s
19430
19431       • Examples:
19432
19433         • "1h"
19434
19435           • 1 hour
19436
19437         • "24h"
19438
19439           • 24 hours
19440
19441         • "48h"
19442
19443           • 48 hours
19444
19445   --cache-chunk-total-size
19446       The total size that the chunks can take up on the local disk.
19447
19448       If the cache exceeds this value then it will start to delete the oldest
19449       chunks until it goes under this value.
19450
19451       • Config: chunk_total_size
19452
19453       • Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
19454
19455       • Type: SizeSuffix
19456
19457       • Default: 10Gi
19458
19459       • Examples:
19460
19461         • "500M"
19462
19463           • 500 MiB
19464
19465         • "1G"
19466
19467           • 1 GiB
19468
19469         • "10G"
19470
19471           • 10 GiB
19472
19473   Advanced options
19474       Here are the advanced options specific to cache (Cache a remote).
19475
19476   --cache-plex-token
19477       The plex token for authentication - auto set normally.
19478
19479       • Config: plex_token
19480
19481       • Env Var: RCLONE_CACHE_PLEX_TOKEN
19482
19483       • Type: string
19484
19485       • Default: ""
19486
19487   --cache-plex-insecure
19488       Skip all certificate verification when connecting to the Plex server.
19489
19490       • Config: plex_insecure
19491
19492       • Env Var: RCLONE_CACHE_PLEX_INSECURE
19493
19494       • Type: string
19495
19496       • Default: ""
19497
19498   --cache-db-path
19499       Directory to store file structure metadata DB.
19500
19501       The remote name is used as the DB file name.
19502
19503       • Config: db_path
19504
19505       • Env Var: RCLONE_CACHE_DB_PATH
19506
19507       • Type: string
19508
19509       • Default: "$HOME/.cache/rclone/cache-backend"
19510
19511   --cache-chunk-path
19512       Directory to cache chunk files.
19513
19514       Path  to  where partial file data (chunks) are stored locally.  The re‐
19515       mote name is appended to the final path.
19516
19517       This config follows the "--cache-db-path".  If you specify a custom lo‐
19518       cation    for    "--cache-db-path"    and   don't   specify   one   for
19519       "--cache-chunk-path" then "--cache-chunk-path" will use the  same  path
19520       as "--cache-db-path".
19521
19522       • Config: chunk_path
19523
19524       • Env Var: RCLONE_CACHE_CHUNK_PATH
19525
19526       • Type: string
19527
19528       • Default: "$HOME/.cache/rclone/cache-backend"
19529
19530   --cache-db-purge
19531       Clear all the cached data for this remote on start.
19532
19533       • Config: db_purge
19534
19535       • Env Var: RCLONE_CACHE_DB_PURGE
19536
19537       • Type: bool
19538
19539       • Default: false
19540
19541   --cache-chunk-clean-interval
19542       How often should the cache perform cleanups of the chunk storage.
19543
19544       The  default  value should be ok for most people.  If you find that the
19545       cache goes over "cache-chunk-total-size" too often then  try  to  lower
19546       this value to force it to perform cleanups more often.
19547
19548       • Config: chunk_clean_interval
19549
19550       • Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
19551
19552       • Type: Duration
19553
19554       • Default: 1m0s
19555
19556   --cache-read-retries
19557       How many times to retry a read from a cache storage.
19558
19559       Since  reading from a cache stream is independent from downloading file
19560       data, readers can get to a point where there's  no  more  data  in  the
19561       cache.   Most  of  the  times this can indicate a connectivity issue if
19562       cache isn't able to provide file data anymore.
19563
19564       For really slow connections, increase this to a point where the  stream
19565       is able to provide data but your experience will be very stuttering.
19566
19567       • Config: read_retries
19568
19569       • Env Var: RCLONE_CACHE_READ_RETRIES
19570
19571       • Type: int
19572
19573       • Default: 10
19574
19575   --cache-workers
19576       How many workers should run in parallel to download chunks.
19577
19578       Higher  values  will  mean more parallel processing (better CPU needed)
19579       and more concurrent requests on the cloud provider.  This impacts  sev‐
19580       eral  aspects  like  the  cloud provider API limits, more stress on the
19581       hardware that rclone runs on but it also means  that  streams  will  be
19582       more fluid and data will be available much more faster to readers.
19583
19584       Note:  If  the  optional  Plex integration is enabled then this setting
19585       will adapt to the type of reading performed  and  the  value  specified
19586       here will be used as a maximum number of workers to use.
19587
19588       • Config: workers
19589
19590       • Env Var: RCLONE_CACHE_WORKERS
19591
19592       • Type: int
19593
19594       • Default: 4
19595
19596   --cache-chunk-no-memory
19597       Disable the in-memory cache for storing chunks during streaming.
19598
19599       By  default,  cache will keep file data during streaming in RAM as well
19600       to provide it to readers as fast as possible.
19601
19602       This transient data is evicted as soon as it is read and the number  of
19603       chunks stored doesn't exceed the number of workers.  However, depending
19604       on other settings  like  "cache-chunk-size"  and  "cache-workers"  this
19605       footprint  can  increase  if  there  are parallel streams too (multiple
19606       files being read at the same time).
19607
19608       If the hardware permits it, use this feature to provide an overall bet‐
19609       ter  performance during streaming but it can also be disabled if RAM is
19610       not available on the local machine.
19611
19612       • Config: chunk_no_memory
19613
19614       • Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
19615
19616       • Type: bool
19617
19618       • Default: false
19619
19620   --cache-rps
19621       Limits the number of requests per second to the source FS (-1  to  dis‐
19622       able).
19623
19624       This  setting  places a hard limit on the number of requests per second
19625       that cache will be doing to the cloud provider remote and  try  to  re‐
19626       spect that value by setting waits between reads.
19627
19628       If you find that you're getting banned or limited on the cloud provider
19629       through cache and know that a smaller number  of  requests  per  second
19630       will allow you to work with it then you can use this setting for that.
19631
19632       A  good balance of all the other settings should make this setting use‐
19633       less but it is available to set for more special cases.
19634
19635       NOTE: This will limit the number of requests during streams  but  other
19636       API  calls  to  the  cloud  provider like directory listings will still
19637       pass.
19638
19639       • Config: rps
19640
19641       • Env Var: RCLONE_CACHE_RPS
19642
19643       • Type: int
19644
19645       • Default: -1
19646
19647   --cache-writes
19648       Cache file data on writes through the FS.
19649
19650       If you need to read files immediately after  you  upload  them  through
19651       cache  you  can enable this flag to have their data stored in the cache
19652       store at the same time during upload.
19653
19654       • Config: writes
19655
19656       • Env Var: RCLONE_CACHE_WRITES
19657
19658       • Type: bool
19659
19660       • Default: false
19661
19662   --cache-tmp-upload-path
19663       Directory to keep temporary files until they are uploaded.
19664
19665       This is the path where cache will use as a temporary  storage  for  new
19666       files that need to be uploaded to the cloud provider.
19667
19668       Specifying  a  value  will enable this feature.  Without it, it is com‐
19669       pletely disabled and files will  be  uploaded  directly  to  the  cloud
19670       provider
19671
19672       • Config: tmp_upload_path
19673
19674       • Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
19675
19676       • Type: string
19677
19678       • Default: ""
19679
19680   --cache-tmp-wait-time
19681       How long should files be stored in local cache before being uploaded.
19682
19683       This  is  the  duration that a file must wait in the temporary location
19684       cache-tmp-upload-path before it is selected for upload.
19685
19686       Note that only one file is uploaded at a time and it can take longer to
19687       start the upload if a queue formed for this purpose.
19688
19689       • Config: tmp_wait_time
19690
19691       • Env Var: RCLONE_CACHE_TMP_WAIT_TIME
19692
19693       • Type: Duration
19694
19695       • Default: 15s
19696
19697   --cache-db-wait-time
19698       How long to wait for the DB to be available - 0 is unlimited.
19699
19700       Only  one process can have the DB open at any one time, so rclone waits
19701       for this duration for the DB to become available before it gives an er‐
19702       ror.
19703
19704       If you set it to 0 then it will wait forever.
19705
19706       • Config: db_wait_time
19707
19708       • Env Var: RCLONE_CACHE_DB_WAIT_TIME
19709
19710       • Type: Duration
19711
19712       • Default: 1s
19713
19714   Backend commands
19715       Here are the commands specific to the cache backend.
19716
19717       Run them with
19718
19719              rclone backend COMMAND remote:
19720
19721       The help below will explain what arguments each command takes.
19722
19723       See    the    "rclone    backend"    command   (https://rclone.org/com
19724       mands/rclone_backend/) for more info on how to pass options  and  argu‐
19725       ments.
19726
19727       These can be run on a running backend using the rc command backend/com‐
19728       mand (https://rclone.org/rc/#backend/command).
19729
19730   stats
19731       Print stats on the cache backend in JSON format.
19732
19733              rclone backend stats remote: [options] [<arguments>+]
19734

Chunker (BETA)

19736       The chunker overlay  transparently  splits  large  files  into  smaller
19737       chunks during upload to wrapped remote and transparently assembles them
19738       back when the file is downloaded.  This allows to effectively  overcome
19739       size limits imposed by storage providers.
19740
19741   Configuration
19742       To  use it, first set up the underlying remote following the configura‐
19743       tion instructions for that remote.  You can also use a  local  pathname
19744       instead of a remote.
19745
19746       First  check  your chosen remote is working - we'll call it remote:path
19747       here.  Note that anything inside remote:path will be chunked  and  any‐
19748       thing  outside  won't.  This means that if you are using a bucket based
19749       remote (e.g.  S3, B2, swift) then you should probably put the bucket in
19750       the remote s3:bucket.
19751
19752       Now configure chunker using rclone config.  We will call this one over‐
19753       lay to separate it from the remote itself.
19754
19755              No remotes found - make a new one
19756              n) New remote
19757              s) Set configuration password
19758              q) Quit config
19759              n/s/q> n
19760              name> overlay
19761              Type of storage to configure.
19762              Choose a number from below, or type in your own value
19763              [snip]
19764              XX / Transparently chunk/split large files
19765                 \ "chunker"
19766              [snip]
19767              Storage> chunker
19768              Remote to chunk/unchunk.
19769              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
19770              "myremote:bucket" or maybe "myremote:" (not recommended).
19771              Enter a string value. Press Enter for the default ("").
19772              remote> remote:path
19773              Files larger than chunk size will be split in chunks.
19774              Enter a size with suffix K,M,G,T. Press Enter for the default ("2G").
19775              chunk_size> 100M
19776              Choose how chunker handles hash sums. All modes but "none" require metadata.
19777              Enter a string value. Press Enter for the default ("md5").
19778              Choose a number from below, or type in your own value
19779               1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise
19780                 \ "none"
19781               2 / MD5 for composite files
19782                 \ "md5"
19783               3 / SHA1 for composite files
19784                 \ "sha1"
19785               4 / MD5 for all files
19786                 \ "md5all"
19787               5 / SHA1 for all files
19788                 \ "sha1all"
19789               6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported
19790                 \ "md5quick"
19791               7 / Similar to "md5quick" but prefers SHA1 over MD5
19792                 \ "sha1quick"
19793              hash_type> md5
19794              Edit advanced config? (y/n)
19795              y) Yes
19796              n) No
19797              y/n> n
19798              Remote config
19799              --------------------
19800              [overlay]
19801              type = chunker
19802              remote = remote:bucket
19803              chunk_size = 100M
19804              hash_type = md5
19805              --------------------
19806              y) Yes this is OK
19807              e) Edit this remote
19808              d) Delete this remote
19809              y/e/d> y
19810
19811   Specifying the remote
19812       In normal use, make sure the remote has a : in.  If you specify the re‐
19813       mote  without  a : then rclone will use a local directory of that name.
19814       So if you use a remote of /path/to/secret/files then rclone will  chunk
19815       stuff  in that directory.  If you use a remote of name then rclone will
19816       put files in a directory called name in the current directory.
19817
19818   Chunking
19819       When rclone starts a file upload, chunker checks the file size.  If  it
19820       doesn't  exceed  the  configured chunk size, chunker will just pass the
19821       file to the wrapped remote.  If a file is large, chunker will transpar‐
19822       ently  cut  data  in pieces with temporary names and stream them one by
19823       one, on the fly.  Each data chunk will contain the specified number  of
19824       bytes,  except for the last one which may have less data.  If file size
19825       is unknown in advance (this is called a streaming upload), chunker will
19826       internally  create  a  temporary  copy,  record its size and repeat the
19827       above process.
19828
19829       When upload completes, temporary chunk files are finally renamed.  This
19830       scheme  guarantees that operations can be run in parallel and look from
19831       outside as atomic.  A similar method with hidden  temporary  chunks  is
19832       used  for  other  operations (copy/move/rename, etc.).  If an operation
19833       fails, hidden chunks are normally destroyed, and the  target  composite
19834       file stays intact.
19835
19836       When  a composite file download is requested, chunker transparently as‐
19837       sembles it by concatenating data chunks in  order.   As  the  split  is
19838       trivial one could even manually concatenate data chunks together to ob‐
19839       tain the original content.
19840
19841       When the list rclone command scans a directory on wrapped  remote,  the
19842       potential  chunk  files  are  accounted for, grouped and assembled into
19843       composite directory entries.  Any temporary chunks are hidden.
19844
19845       List and other commands can sometimes come across composite files  with
19846       missing  or  invalid  chunks, e.g.  shadowed by like-named directory or
19847       another file.  This usually means that wrapped file system has been di‐
19848       rectly tampered with or damaged.  If chunker detects a missing chunk it
19849       will by default print warning,  skip  the  whole  incomplete  group  of
19850       chunks  but  proceed  with  current  command.   You can set the --chun‐
19851       ker-fail-hard flag to have commands abort with error  message  in  such
19852       cases.
19853
19854   Chunk names
19855       The  default  chunk name format is *.rclone_chunk.###, hence by default
19856       chunk         names         are         BIG_FILE_NAME.rclone_chunk.001,
19857       BIG_FILE_NAME.rclone_chunk.002  etc.   You  can  configure another name
19858       format using the name_format configuration file option.  The format us‐
19859       es  asterisk  * as a placeholder for the base file name and one or more
19860       consecutive hash characters # as a  placeholder  for  sequential  chunk
19861       number.   There  must be one and only one asterisk.  The number of con‐
19862       secutive hash characters defines the minimum length of a string  repre‐
19863       senting  a  chunk number.  If decimal chunk number has less digits than
19864       the number of hashes, it is  left-padded  by  zeros.   If  the  decimal
19865       string  is longer, it is left intact.  By default numbering starts from
19866       1 but there is another option that allows user to start  from  0,  e.g.
19867       for compatibility with legacy software.
19868
19869       For  example, if name format is big_*-##.part and original file name is
19870       data.txt and numbering starts from 0, then  the  first  chunk  will  be
19871       named big_data.txt-00.part, the 99th chunk will be big_data.txt-98.part
19872       and the 302nd chunk will become big_data.txt-301.part.
19873
19874       Note that list assembles composite directory entries  only  when  chunk
19875       names  match the configured format and treats non-conforming file names
19876       as normal non-chunked files.
19877
19878       When using norename transactions, chunk names will additionally have  a
19879       unique       file       version       suffix.        For       example,
19880       BIG_FILE_NAME.rclone_chunk.001_bp562k.
19881
19882   Metadata
19883       Besides data chunks chunker will by default create metadata object  for
19884       a  composite file.  The object is named after the original file.  Chun‐
19885       ker allows user to disable metadata completely (the none format).  Note
19886       that  metadata  is normally not created for files smaller than the con‐
19887       figured chunk size.  This may change in future rclone releases.
19888
19889   Simple JSON metadata format
19890       This is the default format.  It supports hash sums and chunk validation
19891       for composite files.  Meta objects carry the following fields:
19892
19893       • ver - version of format, currently 1
19894
19895       • size - total size of composite file
19896
19897       • nchunks - number of data chunks in file
19898
19899       • md5 - MD5 hashsum of composite file (if present)
19900
19901       • sha1 - SHA1 hashsum (if present)
19902
19903       • txn - identifies current version of the file
19904
19905       There  is  no field for composite file name as it's simply equal to the
19906       name of meta object on the wrapped remote.  Please refer to  respective
19907       sections for details on hashsums and modified time handling.
19908
19909   No metadata
19910       You can disable meta objects by setting the meta format option to none.
19911       In this mode chunker will scan directory for all files that follow con‐
19912       figured chunk name format, group them by detecting chunks with the same
19913       base name and show group names as virtual composite files.  This method
19914       is  more  prone to missing chunk errors (especially missing last chunk)
19915       than format with metadata enabled.
19916
19917   Hashsums
19918       Chunker supports hashsums only when a compatible metadata  is  present.
19919       Hence, if you choose metadata format of none, chunker will report hash‐
19920       sum as UNSUPPORTED.
19921
19922       Please note that by default  metadata  is  stored  only  for  composite
19923       files.   If  a file is smaller than configured chunk size, chunker will
19924       transparently redirect hash requests to wrapped remote, so support  de‐
19925       pends on that.  You will see the empty string as a hashsum of requested
19926       type for small files if the wrapped remote doesn't support it.
19927
19928       Many storage backends support MD5 and SHA1 hash types, so does chunker.
19929       With chunker you can choose one or another but not both.  MD5 is set by
19930       default as the most supported type.  Since  chunker  keeps  hashes  for
19931       composite files and falls back to the wrapped remote hash for non-chun‐
19932       ked ones, we advise you to choose the same hash type  as  supported  by
19933       wrapped remote so that your file listings look coherent.
19934
19935       If  your storage backend does not support MD5 or SHA1 but you need con‐
19936       sistent file hashing, configure chunker with md5all or sha1all.   These
19937       two  modes  guarantee  given  hash  for  all  files.  If wrapped remote
19938       doesn't support it, chunker will then add metadata to all  files,  even
19939       small.   However,  this can double the amount of small files in storage
19940       and incur additional service charges.  You  can  even  use  chunker  to
19941       force  md5/sha1  support in any other remote at expense of sidecar meta
19942       objects by setting  e.g.   chunk_type=sha1all  to  force  hashsums  and
19943       chunk_size=1P to effectively disable chunking.
19944
19945       Normally,  when  a file is copied to chunker controlled remote, chunker
19946       will ask the file  source  for  compatible  file  hash  and  revert  to
19947       on-the-fly  calculation if none is found.  This involves some CPU over‐
19948       head but provides a guarantee that given hashsum is  available.   Also,
19949       chunker  will reject a server-side copy or move operation if source and
19950       destination hashsum types are different resulting in the extra  network
19951       bandwidth,  too.   In some rare cases this may be undesired, so chunker
19952       provides two optional choices: sha1quick and md5quick.  If  the  source
19953       does not support primary hash type and the quick mode is enabled, chun‐
19954       ker will try to fall back to the secondary type.  This  will  save  CPU
19955       and  bandwidth but can result in empty hashsums at destination.  Beware
19956       of consequences: the sync command will revert (sometimes  silently)  to
19957       time/size  comparison  if compatible hashsums between source and target
19958       are not found.
19959
19960   Modified time
19961       Chunker stores modification times using the wrapped remote  so  support
19962       depends on that.  For a small non-chunked file the chunker overlay sim‐
19963       ply manipulates modification time of the wrapped remote  file.   For  a
19964       composite file with metadata chunker will get and set modification time
19965       of the metadata object on the wrapped remote.  If file is  chunked  but
19966       metadata  format is none then chunker will use modification time of the
19967       first data chunk.
19968
19969   Migrations
19970       The idiomatic way to migrate to a  different  chunk  size,  hash  type,
19971       transaction style or chunk naming scheme is to:
19972
19973       • Collect  all your chunked files under a directory and have your chun‐
19974         ker remote point to it.
19975
19976       • Create another directory (most probably on the  same  cloud  storage)
19977         and  configure  a new remote with desired metadata format, hash type,
19978         chunk naming etc.
19979
19980       • Now run rclone sync -i oldchunks: newchunks: and all your  data  will
19981         be transparently converted in transfer.  This may take some time, yet
19982         chunker will try server-side copy if possible.
19983
19984       • After checking data integrity you may remove configuration section of
19985         the old remote.
19986
19987       If  rclone gets killed during a long operation on a big composite file,
19988       hidden temporary chunks may stay in the directory.  They  will  not  be
19989       shown  by  the list command but will eat up your account quota.  Please
19990       note that the deletefile command deletes only active chunks of a  file.
19991       As  a  workaround, you can use remote of the wrapped file system to see
19992       them.  An easy way to get rid of hidden garbage is to copy littered di‐
19993       rectory  somewhere  using the chunker remote and purge the original di‐
19994       rectory.  The copy command will copy only active chunks while the purge
19995       will remove everything including garbage.
19996
19997   Caveats and Limitations
19998       Chunker  requires wrapped remote to support server-side move (or copy +
19999       delete) operations, otherwise it will explicitly refuse to start.  This
20000       is  because  it internally renames temporary chunk files to their final
20001       names when an operation completes successfully.
20002
20003       Chunker encodes chunk number in file name, so with default  name_format
20004       setting  it adds 17 characters.  Also chunker adds 7 characters of tem‐
20005       porary suffix during operations.  Many file  systems  limit  base  file
20006       name  without path by 255 characters.  Using rclone's crypt remote as a
20007       base file system limits file name by  143  characters.   Thus,  maximum
20008       name  length  is  231 for most files and 119 for chunker-over-crypt.  A
20009       user in need can change name format to e.g.  *.rcc## and save 10  char‐
20010       acters (provided at most 99 chunks per file).
20011
20012       Note that a move implemented using the copy-and-delete method may incur
20013       double charging with some cloud storage providers.
20014
20015       Chunker will not automatically rename  existing  chunks  when  you  run
20016       rclone  config  on a live remote and change the chunk name format.  Be‐
20017       ware that in result of this some  files  which  have  been  treated  as
20018       chunks  before  the  change  can pop up in directory listings as normal
20019       files and vice versa.  The same warning holds for the chunk  size.   If
20020       you  desperately  need to change critical chunking settings, you should
20021       run data migration as described above.
20022
20023       If wrapped remote is case insensitive, the chunker overlay will inherit
20024       that  property  (so  you can't have a file called "Hello.doc" and "hel‐
20025       lo.doc" in the same directory).
20026
20027       Chunker included in rclone releases up to v1.54 can sometimes  fail  to
20028       detect  metadata  produced  by recent versions of rclone.  We recommend
20029       users to keep rclone up-to-date to avoid data corruption.
20030
20031       Changing transactions is dangerous and requires explicit migration.
20032
20033   Standard options
20034       Here are  the  standard  options  specific  to  chunker  (Transparently
20035       chunk/split large files).
20036
20037   --chunker-remote
20038       Remote to chunk/unchunk.
20039
20040       Normally should contain a ':' and a path, e.g.  "myremote:path/to/dir",
20041       "myremote:bucket" or maybe "myremote:" (not recommended).
20042
20043       • Config: remote
20044
20045       • Env Var: RCLONE_CHUNKER_REMOTE
20046
20047       • Type: string
20048
20049       • Default: ""
20050
20051   --chunker-chunk-size
20052       Files larger than chunk size will be split in chunks.
20053
20054       • Config: chunk_size
20055
20056       • Env Var: RCLONE_CHUNKER_CHUNK_SIZE
20057
20058       • Type: SizeSuffix
20059
20060       • Default: 2Gi
20061
20062   --chunker-hash-type
20063       Choose how chunker handles hash sums.
20064
20065       All modes but "none" require metadata.
20066
20067       • Config: hash_type
20068
20069       • Env Var: RCLONE_CHUNKER_HASH_TYPE
20070
20071       • Type: string
20072
20073       • Default: "md5"
20074
20075       • Examples:
20076
20077         • "none"
20078
20079           • Pass any hash supported by wrapped remote for non-chunked files.
20080
20081           • Return nothing otherwise.
20082
20083         • "md5"
20084
20085           • MD5 for composite files.
20086
20087         • "sha1"
20088
20089           • SHA1 for composite files.
20090
20091         • "md5all"
20092
20093           • MD5 for all files.
20094
20095         • "sha1all"
20096
20097           • SHA1 for all files.
20098
20099         • "md5quick"
20100
20101           • Copying a file to chunker will request MD5 from the source.
20102
20103           • Falling back to SHA1 if unsupported.
20104
20105         • "sha1quick"
20106
20107           • Similar to "md5quick" but prefers SHA1 over MD5.
20108
20109   Advanced options
20110       Here are  the  advanced  options  specific  to  chunker  (Transparently
20111       chunk/split large files).
20112
20113   --chunker-name-format
20114       String format of chunk file names.
20115
20116       The  two  placeholders are: base file name (*) and chunk number (#...).
20117       There must be one and only one asterisk and  one  or  more  consecutive
20118       hash  characters.   If  chunk number has less digits than the number of
20119       hashes, it is left-padded by zeros.  If there are more  digits  in  the
20120       number, they are left as is.  Possible chunk files are ignored if their
20121       name does not match given format.
20122
20123       • Config: name_format
20124
20125       • Env Var: RCLONE_CHUNKER_NAME_FORMAT
20126
20127       • Type: string
20128
20129       • Default: "*.rclone_chunk.###"
20130
20131   --chunker-start-from
20132       Minimum valid chunk number.  Usually 0 or 1.
20133
20134       By default chunk numbers start from 1.
20135
20136       • Config: start_from
20137
20138       • Env Var: RCLONE_CHUNKER_START_FROM
20139
20140       • Type: int
20141
20142       • Default: 1
20143
20144   --chunker-meta-format
20145       Format of the metadata object or "none".
20146
20147       By default "simplejson".  Metadata is a small JSON file named after the
20148       composite file.
20149
20150       • Config: meta_format
20151
20152       • Env Var: RCLONE_CHUNKER_META_FORMAT
20153
20154       • Type: string
20155
20156       • Default: "simplejson"
20157
20158       • Examples:
20159
20160         • "none"
20161
20162           • Do not use metadata files at all.
20163
20164           • Requires hash type "none".
20165
20166         • "simplejson"
20167
20168           • Simple JSON supports hash sums and chunk validation.
20169
20170           • It has the following fields: ver, size, nchunks, md5, sha1.
20171
20172   --chunker-fail-hard
20173       Choose how chunker should handle files with missing or invalid chunks.
20174
20175       • Config: fail_hard
20176
20177       • Env Var: RCLONE_CHUNKER_FAIL_HARD
20178
20179       • Type: bool
20180
20181       • Default: false
20182
20183       • Examples:
20184
20185         • "true"
20186
20187           • Report errors and abort current command.
20188
20189         • "false"
20190
20191           • Warn user, skip incomplete file and proceed.
20192
20193   --chunker-transactions
20194       Choose how chunker should handle temporary files during transactions.
20195
20196       • Config: transactions
20197
20198       • Env Var: RCLONE_CHUNKER_TRANSACTIONS
20199
20200       • Type: string
20201
20202       • Default: "rename"
20203
20204       • Examples:
20205
20206         • "rename"
20207
20208           • Rename temporary files after a successful transaction.
20209
20210         • "norename"
20211
20212           • Leave  temporary  file names and write transaction ID to metadata
20213             file.
20214
20215           • Metadata is required for no rename transactions (meta format can‐
20216             not be "none").
20217
20218           • If  you are using norename transactions you should be careful not
20219             to downgrade Rclone
20220
20221           • as older versions of Rclone don't support this transaction  style
20222             and will misinterpret
20223
20224           • files manipulated by norename transactions.
20225
20226           • This method is EXPERIMENTAL, don't use on production systems.
20227
20228         • "auto"
20229
20230           • Rename  or norename will be used depending on capabilities of the
20231             backend.
20232
20233           • If meta format is set to "none", rename transactions will  always
20234             be used.
20235
20236           • This method is EXPERIMENTAL, don't use on production systems.
20237

Citrix ShareFile

20239       Citrix  ShareFile  (https://sharefile.com) is a secure file sharing and
20240       transfer service aimed as business.
20241
20242   Configuration
20243       The initial setup for Citrix ShareFile involves getting  a  token  from
20244       Citrix  ShareFile  which  you can in your browser.  rclone config walks
20245       you through it.
20246
20247       Here is an example of how to make a remote called remote.  First run:
20248
20249               rclone config
20250
20251       This will guide you through an interactive setup process:
20252
20253              No remotes found - make a new one
20254              n) New remote
20255              s) Set configuration password
20256              q) Quit config
20257              n/s/q> n
20258              name> remote
20259              Type of storage to configure.
20260              Enter a string value. Press Enter for the default ("").
20261              Choose a number from below, or type in your own value
20262              XX / Citrix Sharefile
20263                 \ "sharefile"
20264              Storage> sharefile
20265              ** See help for sharefile backend at: https://rclone.org/sharefile/ **
20266
20267              ID of the root folder
20268
20269              Leave blank to access "Personal Folders".  You can use one of the
20270              standard values here or any folder ID (long hex number ID).
20271              Enter a string value. Press Enter for the default ("").
20272              Choose a number from below, or type in your own value
20273               1 / Access the Personal Folders. (Default)
20274                 \ ""
20275               2 / Access the Favorites folder.
20276                 \ "favorites"
20277               3 / Access all the shared folders.
20278                 \ "allshared"
20279               4 / Access all the individual connectors.
20280                 \ "connectors"
20281               5 / Access the home, favorites, and shared folders as well as the connectors.
20282                 \ "top"
20283              root_folder_id>
20284              Edit advanced config? (y/n)
20285              y) Yes
20286              n) No
20287              y/n> n
20288              Remote config
20289              Use auto config?
20290               * Say Y if not sure
20291               * Say N if you are working on a remote or headless machine
20292              y) Yes
20293              n) No
20294              y/n> y
20295              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX
20296              Log in and authorize rclone for access
20297              Waiting for code...
20298              Got code
20299              --------------------
20300              [remote]
20301              type = sharefile
20302              endpoint = https://XXX.sharefile.com
20303              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"}
20304              --------------------
20305              y) Yes this is OK
20306              e) Edit this remote
20307              d) Delete this remote
20308              y/e/d> y
20309
20310       See the remote setup docs (https://rclone.org/remote_setup/) for how to
20311       set it up on a machine with no Internet browser available.
20312
20313       Note  that rclone runs a webserver on your local machine to collect the
20314       token as returned from Citrix ShareFile.  This only runs from  the  mo‐
20315       ment  it opens your browser to the moment you get back the verification
20316       code.  This is on http://127.0.0.1:53682/ and this it may  require  you
20317       to unblock it temporarily if you are running a host firewall.
20318
20319       Once configured you can then use rclone like this,
20320
20321       List directories in top level of your ShareFile
20322
20323              rclone lsd remote:
20324
20325       List all the files in your ShareFile
20326
20327              rclone ls remote:
20328
20329       To copy a local directory to an ShareFile directory called backup
20330
20331              rclone copy /home/source remote:backup
20332
20333       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
20334
20335   Modified time and hashes
20336       ShareFile  allows modification times to be set on objects accurate to 1
20337       second.  These will be used to detect whether objects need  syncing  or
20338       not.
20339
20340       ShareFile supports MD5 type hashes, so you can use the --checksum flag.
20341
20342   Transfers
20343       For  files  above  128  MiB rclone will use a chunked transfer.  Rclone
20344       will upload up to --transfers chunks at the same time (shared among all
20345       the multipart uploads).  Chunks are buffered in memory and are normally
20346       64 MiB so increasing --transfers will increase memory use.
20347
20348   Restricted filename characters
20349       In   addition   to    the    default    restricted    characters    set
20350       (https://rclone.org/overview/#restricted-characters)    the   following
20351       characters are also replaced:
20352
20353       Character   Value   Replacement
20354       ────────────────────────────────
20355       \           0x5C        \
20356       *           0x2A        *
20357       <           0x3C        <
20358       >           0x3E        >
20359       ?           0x3F        ?
20360       :           0x3A        :
20361       |           0x7C        |
20362       "           0x22        "
20363
20364       File names can also not start or end  with  the  following  characters.
20365       These  only get replaced if they are the first or last character in the
20366       name:
20367
20368       Character   Value   Replacement
20369       ────────────────────────────────
20370       SP          0x20         ␠
20371       .           0x2E        .
20372
20373       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
20374       view/#invalid-utf8), as they can't be used in JSON strings.
20375
20376   Standard options
20377       Here are the standard options specific to sharefile (Citrix Sharefile).
20378
20379   --sharefile-root-folder-id
20380       ID of the root folder.
20381
20382       Leave blank to access "Personal Folders".  You can use one of the stan‐
20383       dard values here or any folder ID (long hex number ID).
20384
20385       • Config: root_folder_id
20386
20387       • Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
20388
20389       • Type: string
20390
20391       • Default: ""
20392
20393       • Examples:
20394
20395         • ""
20396
20397           • Access the Personal Folders (default).
20398
20399         • "favorites"
20400
20401           • Access the Favorites folder.
20402
20403         • "allshared"
20404
20405           • Access all the shared folders.
20406
20407         • "connectors"
20408
20409           • Access all the individual connectors.
20410
20411         • "top"
20412
20413           • Access the home, favorites, and shared folders  as  well  as  the
20414             connectors.
20415
20416   Advanced options
20417       Here are the advanced options specific to sharefile (Citrix Sharefile).
20418
20419   --sharefile-upload-cutoff
20420       Cutoff for switching to multipart upload.
20421
20422       • Config: upload_cutoff
20423
20424       • Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
20425
20426       • Type: SizeSuffix
20427
20428       • Default: 128Mi
20429
20430   --sharefile-chunk-size
20431       Upload chunk size.
20432
20433       Must a power of 2 >= 256k.
20434
20435       Making  this  larger will improve performance, but note that each chunk
20436       is buffered in memory one per transfer.
20437
20438       Reducing this will reduce memory usage but decrease performance.
20439
20440       • Config: chunk_size
20441
20442       • Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
20443
20444       • Type: SizeSuffix
20445
20446       • Default: 64Mi
20447
20448   --sharefile-endpoint
20449       Endpoint for API calls.
20450
20451       This is usually auto discovered as part of the oauth process,  but  can
20452       be set manually to something like: https://XXX.sharefile.com
20453
20454       • Config: endpoint
20455
20456       • Env Var: RCLONE_SHAREFILE_ENDPOINT
20457
20458       • Type: string
20459
20460       • Default: ""
20461
20462   --sharefile-encoding
20463       This sets the encoding for the backend.
20464
20465       See  the  encoding  section  in  the overview (https://rclone.org/over
20466       view/#encoding) for more info.
20467
20468       • Config: encoding
20469
20470       • Env Var: RCLONE_SHAREFILE_ENCODING
20471
20472       • Type: MultiEncoder
20473
20474       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
20475         Slash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
20476
20477   Limitations
20478       Note that ShareFile is case insensitive so you can't have a file called
20479       "Hello.doc" and one called "hello.doc".
20480
20481       ShareFile only supports filenames up to 256 characters in length.
20482
20483       rclone about is not supported by the Citrix ShareFile  backend.   Back‐
20484       ends  without this capability cannot determine free space for an rclone
20485       mount or use policy mfs (most free space) as  a  member  of  an  rclone
20486       union remote.
20487
20488       See   List   of   backends   that   do   not   support   rclone   about
20489       (https://rclone.org/overview/#optional-features)   See   rclone   about
20490       (https://rclone.org/commands/rclone_about/)
20491

Crypt

20493       Rclone crypt remotes encrypt and decrypt other remotes.
20494
20495       A   remote   of   type   crypt   does   not  access  a  storage  system
20496       (https://rclone.org/overview/) directly, but instead wraps another  re‐
20497       mote,  which  in  turn accesses the storage system.  This is similar to
20498       how          alias          (https://rclone.org/alias/),          union
20499       (https://rclone.org/union/),  chunker (https://rclone.org/chunker/) and
20500       a few others work.  It makes the usage very flexible, as you can add  a
20501       layer,  in  this case an encryption layer, on top of any other backend,
20502       even in multiple layers.  Rclone's functionality can be  used  as  with
20503       any  other  remote,  for example you can mount (https://rclone.org/com
20504       mands/rclone_mount/) a crypt remote.
20505
20506       Accessing a storage system through a crypt remote realizes  client-side
20507       encryption,  which makes it safe to keep your data in a location you do
20508       not trust will not get compromised.  When working against the crypt re‐
20509       mote,  rclone will automatically encrypt (before uploading) and decrypt
20510       (after downloading) on your local system as needed on the fly,  leaving
20511       the  data  encrypted  at rest in the wrapped remote.  If you access the
20512       storage system using an application other than rclone,  or  access  the
20513       wrapped  remote  directly  using  rclone, there will not be any encryp‐
20514       tion/decryption: Downloading existing content will just  give  you  the
20515       encrypted  (scrambled)  format, and anything you upload will not become
20516       encrypted.
20517
20518       The encryption is a secret-key encryption (also  called  symmetric  key
20519       encryption)  algorithm,  where  a  password (or pass phrase) is used to
20520       generate real encryption key.  The password can be supplied by user, or
20521       you  may  chose  to  let rclone generate one.  It will be stored in the
20522       configuration file, in a lightly obscured form.  If you are in an envi‐
20523       ronment  where you are not able to keep your configuration secured, you
20524       should add configuration encryption  (https://rclone.org/docs/#configu‐
20525       ration-encryption)  as protection.  As long as you have this configura‐
20526       tion file, you will be able to decrypt your data.  Without the configu‐
20527       ration file, as long as you remember the password (or keep it in a safe
20528       place), you can re-create the configuration and gain access to the  ex‐
20529       isting  data.   You may also configure a corresponding remote in a dif‐
20530       ferent installation to access the same data.  See below for guidance to
20531       changing password.
20532
20533       Encryption   uses   cryptographic   salt  (https://en.wikipedia.org/wi
20534       ki/Salt_(cryptography)), to permute the encryption key so that the same
20535       string  may be encrypted in different ways.  When configuring the crypt
20536       remote it is optional to enter a salt, or  to  let  rclone  generate  a
20537       unique  salt.   If omitted, rclone uses a built-in unique string.  Nor‐
20538       mally in cryptography, the salt is stored together with  the  encrypted
20539       content,  and do not have to be memorized by the user.  This is not the
20540       case in rclone, because rclone does not store any  additional  informa‐
20541       tion  on the remotes.  Use of custom salt is effectively a second pass‐
20542       word that must be memorized.
20543
20544       File   content   encryption   is   performed   using   NaCl   SecretBox
20545       (https://godoc.org/golang.org/x/crypto/nacl/secretbox),  based on XSal‐
20546       sa20 cipher and Poly1305 for integrity.   Names  (file-  and  directory
20547       names)  are  also  encrypted by default, but this has some implications
20548       and is therefore possible to turned off.
20549
20550   Configuration
20551       Here is an example of how to make a remote called secret.
20552
20553       To use crypt, first set up the underlying remote.   Follow  the  rclone
20554       config instructions for the specific backend.
20555
20556       Before  configuring  the  crypt  remote, check the underlying remote is
20557       working.  In this example the underlying remote is called  remote.   We
20558       will  configure a path path within this remote to contain the encrypted
20559       content.  Anything inside remote:path will be  encrypted  and  anything
20560       outside will not.
20561
20562       Configure  crypt using rclone config.  In this example the crypt remote
20563       is called secret, to differentiate it from the underlying remote.
20564
20565       When you are done you can use the crypt remote named secret just as you
20566       would  with  any  other remote, e.g.  rclone copy D:\docs secret:\docs,
20567       and rclone will encrypt and decrypt as needed on the fly.  If  you  ac‐
20568       cess  the  wrapped  remote remote:path directly you will bypass the en‐
20569       cryption, and anything you read will be in encrypted form, and anything
20570       you write will be unencrypted.  To avoid issues it is best to configure
20571       a dedicated path for  encrypted  content,  and  access  it  exclusively
20572       through a crypt remote.
20573
20574              No remotes found - make a new one
20575              n) New remote
20576              s) Set configuration password
20577              q) Quit config
20578              n/s/q> n
20579              name> secret
20580              Type of storage to configure.
20581              Enter a string value. Press Enter for the default ("").
20582              Choose a number from below, or type in your own value
20583              [snip]
20584              XX / Encrypt/Decrypt a remote
20585                 \ "crypt"
20586              [snip]
20587              Storage> crypt
20588              ** See help for crypt backend at: https://rclone.org/crypt/ **
20589
20590              Remote to encrypt/decrypt.
20591              Normally should contain a ':' and a path, eg "myremote:path/to/dir",
20592              "myremote:bucket" or maybe "myremote:" (not recommended).
20593              Enter a string value. Press Enter for the default ("").
20594              remote> remote:path
20595              How to encrypt the filenames.
20596              Enter a string value. Press Enter for the default ("standard").
20597              Choose a number from below, or type in your own value.
20598                 / Encrypt the filenames.
20599               1 | See the docs for the details.
20600                 \ "standard"
20601               2 / Very simple filename obfuscation.
20602                 \ "obfuscate"
20603                 / Don't encrypt the file names.
20604               3 | Adds a ".bin" extension only.
20605                 \ "off"
20606              filename_encryption>
20607              Option to either encrypt directory names or leave them intact.
20608
20609              NB If filename_encryption is "off" then this option will do nothing.
20610              Enter a boolean value (true or false). Press Enter for the default ("true").
20611              Choose a number from below, or type in your own value
20612               1 / Encrypt directory names.
20613                 \ "true"
20614               2 / Don't encrypt directory names, leave them intact.
20615                 \ "false"
20616              directory_name_encryption>
20617              Password or pass phrase for encryption.
20618              y) Yes type in my own password
20619              g) Generate random password
20620              y/g> y
20621              Enter the password:
20622              password:
20623              Confirm the password:
20624              password:
20625              Password or pass phrase for salt. Optional but recommended.
20626              Should be different to the previous password.
20627              y) Yes type in my own password
20628              g) Generate random password
20629              n) No leave this optional password blank (default)
20630              y/g/n> g
20631              Password strength in bits.
20632              64 is just about memorable
20633              128 is secure
20634              1024 is the maximum
20635              Bits> 128
20636              Your password is: JAsJvRcgR-_veXNfy_sGmQ
20637              Use this password? Please note that an obscured version of this
20638              password (and not the password itself) will be stored under your
20639              configuration file, so keep this generated password in a safe place.
20640              y) Yes (default)
20641              n) No
20642              y/n>
20643              Edit advanced config? (y/n)
20644              y) Yes
20645              n) No (default)
20646              y/n>
20647              Remote config
20648              --------------------
20649              [secret]
20650              type = crypt
20651              remote = remote:path
20652              password = *** ENCRYPTED ***
20653              password2 = *** ENCRYPTED ***
20654              --------------------
20655              y) Yes this is OK (default)
20656              e) Edit this remote
20657              d) Delete this remote
20658              y/e/d>
20659
20660       Important The crypt password stored in rclone.conf is lightly obscured.
20661       That only protects it from cursory inspection.  It is not secure unless
20662       configuration   encryption  (https://rclone.org/docs/#configuration-en‐
20663       cryption) of rclone.conf is specified.
20664
20665       A long passphrase is recommended, or rclone config can generate a  ran‐
20666       dom one.
20667
20668       The  obscured password is created using AES-CTR with a static key.  The
20669       salt is stored verbatim at the  beginning  of  the  obscured  password.
20670       This static key is shared between all versions of rclone.
20671
20672       If you reconfigure rclone with the same passwords/passphrases elsewhere
20673       it will be compatible, but the obscured version will be  different  due
20674       to the different salt.
20675
20676       Rclone does not encrypt
20677
20678       • file length - this can be calculated within 16 bytes
20679
20680       • modification time - used for syncing
20681
20682   Specifying the remote
20683       When  configuring  the  remote  to encrypt/decrypt, you may specify any
20684       string that rclone accepts as a source/destination of other commands.
20685
20686       The primary use case is to specify the path into an already  configured
20687       remote (e.g.  remote:path/to/dir or remote:bucket), such that data in a
20688       remote untrusted location can be stored encrypted.
20689
20690       You may also specify a local filesystem path, such as  /path/to/dir  on
20691       Linux,  C:\path\to\dir on Windows.  By creating a crypt remote pointing
20692       to such a local filesystem path, you can use rclone as  a  utility  for
20693       pure  local  file  encryption, for example to keep encrypted files on a
20694       removable USB drive.
20695
20696       Note: A string which do not contain a : will by rclone be treated as  a
20697       relative  path  in the local filesystem.  For example, if you enter the
20698       name remote without the trailing :, it will be treated as a subdirecto‐
20699       ry of the current directory with name "remote".
20700
20701       If  a  path  remote:path/to/dir  is  specified, rclone stores encrypted
20702       files in path/to/dir on the remote.  With file name  encryption,  files
20703       saved  to  secret:subdir/subfile  are  stored  in  the unencrypted path
20704       path/to/dir but the subdir/subpath element is encrypted.
20705
20706       The path you specify does not have to exist, rclone will create it when
20707       needed.
20708
20709       If you intend to use the wrapped remote both directly for keeping unen‐
20710       crypted content, as well as through a crypt remote for  encrypted  con‐
20711       tent,  it is recommended to point the crypt remote to a separate direc‐
20712       tory within the wrapped remote.  If you use a bucket based storage sys‐
20713       tem (e.g.  Swift, S3, Google Compute Storage, B2, Hubic) it is general‐
20714       ly advisable  to  wrap  the  crypt  remote  around  a  specific  bucket
20715       (s3:bucket).   If wrapping around the entire root of the storage (s3:),
20716       and use the optional file name  encryption,  rclone  will  encrypt  the
20717       bucket name.
20718
20719   Changing password
20720       Should the password, or the configuration file containing a lightly ob‐
20721       scured form of the password, be compromised,  you  need  to  re-encrypt
20722       your  data  with  a new password.  Since rclone uses secret-key encryp‐
20723       tion, where the encryption key is generated directly from the  password
20724       kept  on  the  client, it is not possible to change the password/key of
20725       already encrypted content.  Just changing the password  configured  for
20726       an  existing  crypt remote means you will no longer able to decrypt any
20727       of the previously encrypted content.  The only possibility is to re-up‐
20728       load everything via a crypt remote configured with your new password.
20729
20730       Depending  on  the size of your data, your bandwith, storage quota etc,
20731       there are different approaches you can take: - If you  have  everything
20732       in  a  different  location, for example on your local system, you could
20733       remove all of the prior encrypted files, change the password  for  your
20734       configured  crypt  remote (or delete and re-create the crypt configura‐
20735       tion), and then re-upload everything from the alternative location.   -
20736       If  you  have  enough  space on the storage system you can create a new
20737       crypt remote pointing to a separate directory on the same backend,  and
20738       then  use  rclone  to copy everything from the original crypt remote to
20739       the new, effectively decrypting everything on the  fly  using  the  old
20740       password  and  re-encrypting using the new password.  When done, delete
20741       the original crypt remote directory and finally the rclone  crypt  con‐
20742       figuration  with  the old password.  All data will be streamed from the
20743       storage system and back, so you will  get  half  the  bandwith  and  be
20744       charged twice if you have upload and download quota on the storage sys‐
20745       tem.
20746
20747       Note: A security problem related to the random password  generator  was
20748       fixed in rclone version 1.53.3 (released 2020-11-19).  Passwords gener‐
20749       ated by rclone config in version 1.49.0 (released 2019-08-26) to 1.53.2
20750       (released  2020-10-26) are not considered secure and should be changed.
20751       If you made up your own password, or used  rclone  version  older  than
20752       1.49.0  or  newer  than  1.53.2 to generate it, you are not affected by
20753       this  issue.   See  issue  #4783  (https://github.com/rclone/rclone/is
20754       sues/4783) for more details, and a tool you can use to check if you are
20755       affected.
20756
20757   Example
20758       Create the following file structure using "standard" file name  encryp‐
20759       tion.
20760
20761              plaintext/
20762              ├── file0.txt
20763              ├── file1.txt
20764              └── subdir
20765                  ├── file2.txt
20766                  ├── file3.txt
20767                  └── subsubdir
20768                      └── file4.txt
20769
20770       Copy these to the remote, and list them
20771
20772              $ rclone -q copy plaintext secret:
20773              $ rclone -q ls secret:
20774                      7 file1.txt
20775                      6 file0.txt
20776                      8 subdir/file2.txt
20777                     10 subdir/subsubdir/file4.txt
20778                      9 subdir/file3.txt
20779
20780       The crypt remote looks like
20781
20782              $ rclone -q ls remote:path
20783                     55 hagjclgavj2mbiqm6u6cnjjqcg
20784                     54 v05749mltvv1tf4onltun46gls
20785                     57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
20786                     58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
20787                     56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
20788
20789       The directory structure is preserved
20790
20791              $ rclone -q ls secret:subdir
20792                      8 file2.txt
20793                      9 file3.txt
20794                     10 subsubdir/file4.txt
20795
20796       Without  file  name  encryption .bin extensions are added to underlying
20797       names.  This prevents the cloud provider attempting to  interpret  file
20798       content.
20799
20800              $ rclone -q ls remote:path
20801                     54 file0.txt.bin
20802                     57 subdir/file3.txt.bin
20803                     56 subdir/file2.txt.bin
20804                     58 subdir/subsubdir/file4.txt.bin
20805                     55 file1.txt.bin
20806
20807   File name encryption modes
20808       Off
20809
20810       • doesn't hide file names or directory structure
20811
20812       • allows for longer file names (~246 characters)
20813
20814       • can use sub paths and copy single files
20815
20816       Standard
20817
20818       • file names encrypted
20819
20820       • file names can't be as long (~143 characters)
20821
20822       • can use sub paths and copy single files
20823
20824       • directory structure visible
20825
20826       • identical files names will have identical uploaded names
20827
20828       • can use shortcuts to shorten the directory recursion
20829
20830       Obfuscation
20831
20832       This  is a simple "rotate" of the filename, with each file having a rot
20833       distance based on the filename.  Rclone stores the distance at the  be‐
20834       ginning of the filename.  A file called "hello" may become "53.jgnnq".
20835
20836       Obfuscation  is not a strong encryption of filenames, but hinders auto‐
20837       mated scanning tools picking up on filename patterns.  It is an  inter‐
20838       mediate  between "off" and "standard" which allows for longer path seg‐
20839       ment names.
20840
20841       There is a possibility with some unicode based filenames that  the  ob‐
20842       fuscation  is  weak  and  may  map  lower case characters to upper case
20843       equivalents.
20844
20845       Obfuscation cannot be relied upon for strong protection.
20846
20847       • file names very lightly obfuscated
20848
20849       • file names can be longer than standard encryption
20850
20851       • can use sub paths and copy single files
20852
20853       • directory structure visible
20854
20855       • identical files names will have identical uploaded names
20856
20857       Cloud storage systems have limits on file name length  and  total  path
20858       length which rclone is more likely to breach using "Standard" file name
20859       encryption.  Where file names are less thn 156 characters in length is‐
20860       sues should not be encountered, irrespective of cloud storage provider.
20861
20862       An  alternative,  future  rclone file name encryption mode may tolerate
20863       backend provider path length limits.
20864
20865   Directory name encryption
20866       Crypt offers the option of encrypting dir names or leaving them intact.
20867       There are two options:
20868
20869       True
20870
20871       Encrypts  the  whole  file  path  including  directory  names  Example:
20872       1/12/123.txt               is               encrypted                to
20873       p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
20874
20875       False
20876
20877       Only encrypts file names, skips directory names  Example:  1/12/123.txt
20878       is encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
20879
20880   Modified time and hashes
20881       Crypt  stores modification times using the underlying remote so support
20882       depends on that.
20883
20884       Hashes are not stored for crypt.  However the data  integrity  is  pro‐
20885       tected by an extremely strong crypto authenticator.
20886
20887       Use  the  rclone cryptcheck command to check the integrity of a crypted
20888       remote instead of rclone check which can't check the checksums  proper‐
20889       ly.
20890
20891   Standard options
20892       Here  are the standard options specific to crypt (Encrypt/Decrypt a re‐
20893       mote).
20894
20895   --crypt-remote
20896       Remote to encrypt/decrypt.
20897
20898       Normally should contain a ':' and a path, e.g.  "myremote:path/to/dir",
20899       "myremote:bucket" or maybe "myremote:" (not recommended).
20900
20901       • Config: remote
20902
20903       • Env Var: RCLONE_CRYPT_REMOTE
20904
20905       • Type: string
20906
20907       • Default: ""
20908
20909   --crypt-filename-encryption
20910       How to encrypt the filenames.
20911
20912       • Config: filename_encryption
20913
20914       • Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
20915
20916       • Type: string
20917
20918       • Default: "standard"
20919
20920       • Examples:
20921
20922         • "standard"
20923
20924           • Encrypt the filenames.
20925
20926           • See the docs for the details.
20927
20928         • "obfuscate"
20929
20930           • Very simple filename obfuscation.
20931
20932         • "off"
20933
20934           • Don't encrypt the file names.
20935
20936           • Adds a ".bin" extension only.
20937
20938   --crypt-directory-name-encryption
20939       Option to either encrypt directory names or leave them intact.
20940
20941       NB If filename_encryption is "off" then this option will do nothing.
20942
20943       • Config: directory_name_encryption
20944
20945       • Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
20946
20947       • Type: bool
20948
20949       • Default: true
20950
20951       • Examples:
20952
20953         • "true"
20954
20955           • Encrypt directory names.
20956
20957         • "false"
20958
20959           • Don't encrypt directory names, leave them intact.
20960
20961   --crypt-password
20962       Password or pass phrase for encryption.
20963
20964       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
20965       (https://rclone.org/commands/rclone_obscure/).
20966
20967       • Config: password
20968
20969       • Env Var: RCLONE_CRYPT_PASSWORD
20970
20971       • Type: string
20972
20973       • Default: ""
20974
20975   --crypt-password2
20976       Password or pass phrase for salt.
20977
20978       Optional but recommended.  Should be different to  the  previous  pass‐
20979       word.
20980
20981       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
20982       (https://rclone.org/commands/rclone_obscure/).
20983
20984       • Config: password2
20985
20986       • Env Var: RCLONE_CRYPT_PASSWORD2
20987
20988       • Type: string
20989
20990       • Default: ""
20991
20992   Advanced options
20993       Here are the advanced options specific to crypt (Encrypt/Decrypt a  re‐
20994       mote).
20995
20996   --crypt-server-side-across-configs
20997       Allow  server-side  operations  (e.g.   copy)  to work across different
20998       crypt configs.
20999
21000       Normally this option is not what you want, but if you have  two  crypts
21001       pointing to the same backend you can use it.
21002
21003       This  can  be  used,  for  example, to change file name encryption type
21004       without re-uploading all the data.  Just make two crypt backends point‐
21005       ing  to two different directories with the single changed parameter and
21006       use rclone move to move the files between the crypt remotes.
21007
21008       • Config: server_side_across_configs
21009
21010       • Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
21011
21012       • Type: bool
21013
21014       • Default: false
21015
21016   --crypt-show-mapping
21017       For all files listed show how the names encrypt.
21018
21019       If this flag is set then for each file that  the  remote  is  asked  to
21020       list,  it  will  log  (at level INFO) a line stating the decrypted file
21021       name and the encrypted file name.
21022
21023       This is so you can work out which encrypted names are  which  decrypted
21024       names  just  in  case  you need to do something with the encrypted file
21025       names, or for debugging purposes.
21026
21027       • Config: show_mapping
21028
21029       • Env Var: RCLONE_CRYPT_SHOW_MAPPING
21030
21031       • Type: bool
21032
21033       • Default: false
21034
21035   --crypt-no-data-encryption
21036       Option to either encrypt file data or leave it unencrypted.
21037
21038       • Config: no_data_encryption
21039
21040       • Env Var: RCLONE_CRYPT_NO_DATA_ENCRYPTION
21041
21042       • Type: bool
21043
21044       • Default: false
21045
21046       • Examples:
21047
21048         • "true"
21049
21050           • Don't encrypt file data, leave it unencrypted.
21051
21052         • "false"
21053
21054           • Encrypt file data.
21055
21056   Backend commands
21057       Here are the commands specific to the crypt backend.
21058
21059       Run them with
21060
21061              rclone backend COMMAND remote:
21062
21063       The help below will explain what arguments each command takes.
21064
21065       See   the    "rclone    backend"    command    (https://rclone.org/com
21066       mands/rclone_backend/)  for  more info on how to pass options and argu‐
21067       ments.
21068
21069       These can be run on a running backend using the rc command backend/com‐
21070       mand (https://rclone.org/rc/#backend/command).
21071
21072   encode
21073       Encode the given filename(s)
21074
21075              rclone backend encode remote: [options] [<arguments>+]
21076
21077       This  encodes  the  filenames  given  as  arguments returning a list of
21078       strings of the encoded results.
21079
21080       Usage Example:
21081
21082              rclone backend encode crypt: file1 [file2...]
21083              rclone rc backend/command command=encode fs=crypt: file1 [file2...]
21084
21085   decode
21086       Decode the given filename(s)
21087
21088              rclone backend decode remote: [options] [<arguments>+]
21089
21090       This decodes the filenames given  as  arguments  returning  a  list  of
21091       strings  of the decoded results.  It will return an error if any of the
21092       inputs are invalid.
21093
21094       Usage Example:
21095
21096              rclone backend decode crypt: encryptedfile1 [encryptedfile2...]
21097              rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
21098
21099   Backing up a crypted remote
21100       If you wish to backup a crypted remote, it is recommended that you  use
21101       rclone sync on the encrypted files, and make sure the passwords are the
21102       same in the new encrypted remote.
21103
21104       This will have the following advantages
21105
21106       • rclone sync will check the checksums while copying
21107
21108       • you can use rclone check between the encrypted remotes
21109
21110       • you don't decrypt and encrypt unnecessarily
21111
21112       For example, let's say you have your original remote  at  remote:  with
21113       the  encrypted  version  at eremote: with path remote:crypt.  You would
21114       then set up the new remote remote2: and then the encrypted version ere‐
21115       mote2: with path remote2:crypt using the same passwords as eremote:.
21116
21117       To sync the two remotes you would do
21118
21119              rclone sync -i remote:crypt remote2:crypt
21120
21121       And to check the integrity you would do
21122
21123              rclone check remote:crypt remote2:crypt
21124
21125   File formats
21126   File encryption
21127       Files  are  encrypted  1:1 source file to destination object.  The file
21128       has a header and is divided into chunks.
21129
21130   Header
21131       • 8 bytes magic string RCLONE\x00\x00
21132
21133       • 24 bytes Nonce (IV)
21134
21135       The initial nonce is generated from the operating systems crypto strong
21136       random  number generator.  The nonce is incremented for each chunk read
21137       making sure each nonce is unique for each block written.  The chance of
21138       a  nonce  being  re-used is minuscule.  If you wrote an exabyte of data
21139       (10¹⁸ bytes) you would have a probability of approximately  2×10⁻³²  of
21140       re-using a nonce.
21141
21142   Chunk
21143       Each  chunk  will contain 64 KiB of data, except for the last one which
21144       may have less data.  The data chunk is in standard NaCl SecretBox  for‐
21145       mat.   SecretBox uses XSalsa20 and Poly1305 to encrypt and authenticate
21146       messages.
21147
21148       Each chunk contains:
21149
21150       • 16 Bytes of Poly1305 authenticator
21151
21152       • 1 - 65536 bytes XSalsa20 encrypted data
21153
21154       64k chunk size was chosen as the best performing chunk  size  (the  au‐
21155       thenticator  takes  too  much time below this and the performance drops
21156       off due to cache effects above  this).   Note  that  these  chunks  are
21157       buffered in memory so they can't be too big.
21158
21159       This uses a 32 byte (256 bit key) key derived from the user password.
21160
21161   Examples
21162       1 byte file will encrypt to
21163
21164       • 32 bytes header
21165
21166       • 17 bytes data chunk
21167
21168       49 bytes total
21169
21170       1 MiB (1048576 bytes) file will encrypt to
21171
21172       • 32 bytes header
21173
21174       • 16 chunks of 65568 bytes
21175
21176       1049120  bytes  total (a 0.05% overhead).  This is the overhead for big
21177       files.
21178
21179   Name encryption
21180       File names are encrypted segment by segment - the path is broken up in‐
21181       to / separated strings and these are encrypted individually.
21182
21183       File  segments are padded using PKCS#7 to a multiple of 16 bytes before
21184       encryption.
21185
21186       They are then encrypted with EME using  AES  with  256  bit  key.   EME
21187       (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003 pa‐
21188       per "A Parallelizable Enciphering Mode" by Halevi and Rogaway.
21189
21190       This makes for deterministic encryption which is what  we  want  -  the
21191       same filename must encrypt to the same thing otherwise we can't find it
21192       on the cloud storage system.
21193
21194       This means that
21195
21196       • filenames with the same name will encrypt the same
21197
21198       • filenames which start the same won't have a common prefix
21199
21200       This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both  of
21201       which are derived from the user password.
21202
21203       After encryption they are written out using a modified version of stan‐
21204       dard base32 encoding as described in RFC4648.  The standard encoding is
21205       modified in two ways:
21206
21207       • it becomes lower case (no-one likes upper case filenames!)
21208
21209       • we strip the padding character =
21210
21211       base32  is  used rather than the more efficient base64 so rclone can be
21212       used on case insensitive remotes (e.g.  Windows, Amazon Drive).
21213
21214   Key derivation
21215       Rclone uses scrypt with parameters N=16384, r=8, p=1 with  an  optional
21216       user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
21217       material required.  If the user doesn't supply a salt then rclone  uses
21218       an internal one.
21219
21220       scrypt  makes it impractical to mount a dictionary attack on rclone en‐
21221       crypted data.  For full protection against this you should always use a
21222       salt.
21223
21224   SEE ALSO
21225       • rclone  cryptdecode (https://rclone.org/commands/rclone_cryptdecode/)
21226         - Show forward/reverse mapping of encrypted filenames
21227

Compress (Experimental)

21229   Warning
21230       This remote is currently experimental.  Things may break and  data  may
21231       be lost.  Anything you do with this remote is at your own risk.  Please
21232       understand the risks associated with using experimental code and  don't
21233       use this remote in critical applications.
21234
21235       The  Compress  remote  adds  compression to another remote.  It is best
21236       used with remotes containing many large compressible files.
21237
21238   Configuration
21239       To use this remote, all you need to do is specify another remote and  a
21240       compression mode to use:
21241
21242              Current remotes:
21243
21244              Name                 Type
21245              ====                 ====
21246              remote_to_press      sometype
21247
21248              e) Edit existing remote
21249              $ rclone config
21250              n) New remote
21251              d) Delete remote
21252              r) Rename remote
21253              c) Copy remote
21254              s) Set configuration password
21255              q) Quit config
21256              e/n/d/r/c/s/q> n
21257              name> compress
21258              ...
21259               8 / Compress a remote
21260                 \ "compress"
21261              ...
21262              Storage> compress
21263              ** See help for compress backend at: https://rclone.org/compress/ **
21264
21265              Remote to compress.
21266              Enter a string value. Press Enter for the default ("").
21267              remote> remote_to_press:subdir
21268              Compression mode.
21269              Enter a string value. Press Enter for the default ("gzip").
21270              Choose a number from below, or type in your own value
21271               1 / Gzip compression balanced for speed and compression strength.
21272                 \ "gzip"
21273              compression_mode> gzip
21274              Edit advanced config? (y/n)
21275              y) Yes
21276              n) No (default)
21277              y/n> n
21278              Remote config
21279              --------------------
21280              [compress]
21281              type = compress
21282              remote = remote_to_press:subdir
21283              compression_mode = gzip
21284              --------------------
21285              y) Yes this is OK (default)
21286              e) Edit this remote
21287              d) Delete this remote
21288              y/e/d> y
21289
21290   Compression Modes
21291       Currently  only  gzip  compression  is supported.  It provides a decent
21292       balance between speed and size and is well supported by other  applica‐
21293       tions.   Compression strength can further be configured via an advanced
21294       setting where 0 is no compression and 9 is strongest compression.
21295
21296   File types
21297       If you open a remote wrapped by compress, you will see that  there  are
21298       many files with an extension corresponding to the compression algorithm
21299       you chose.  These files are standard files that can be opened by  vari‐
21300       ous  archive  programs,  but they have some hidden metadata that allows
21301       them to be used by rclone.  While you may download and decompress these
21302       files  at  will, do not manually delete or rename files.  Files without
21303       correct metadata files will not be recognized by rclone.
21304
21305   File names
21306       The compressed files will be named *.###########.gz where * is the base
21307       file  and  the  # part is base64 encoded size of the uncompressed file.
21308       The file names should not be changed by anything other than the  rclone
21309       compression backend.
21310
21311   Standard options
21312       Here are the standard options specific to compress (Compress a remote).
21313
21314   --compress-remote
21315       Remote to compress.
21316
21317       • Config: remote
21318
21319       • Env Var: RCLONE_COMPRESS_REMOTE
21320
21321       • Type: string
21322
21323       • Default: ""
21324
21325   --compress-mode
21326       Compression mode.
21327
21328       • Config: mode
21329
21330       • Env Var: RCLONE_COMPRESS_MODE
21331
21332       • Type: string
21333
21334       • Default: "gzip"
21335
21336       • Examples:
21337
21338         • "gzip"
21339
21340           • Standard gzip compression with fastest parameters.
21341
21342   Advanced options
21343       Here are the advanced options specific to compress (Compress a remote).
21344
21345   --compress-level
21346       GZIP compression level (-2 to 9).
21347
21348       Generally  -1 (default, equivalent to 5) is recommended.  Levels 1 to 9
21349       increase compression at the cost of speed.  Going past 6 generally  of‐
21350       fers very little return.
21351
21352       Level  -2  uses  Huffmann encoding only.  Only use if you know what you
21353       are doing.  Level 0 turns off compression.
21354
21355       • Config: level
21356
21357       • Env Var: RCLONE_COMPRESS_LEVEL
21358
21359       • Type: int
21360
21361       • Default: -1
21362
21363   --compress-ram-cache-limit
21364       Some remotes don't allow the upload of files  with  unknown  size.   In
21365       this  case the compressed file will need to be cached to determine it's
21366       size.
21367
21368       Files smaller than this limit will be cached in RAM, files larger  than
21369       this limit will be cached on disk.
21370
21371       • Config: ram_cache_limit
21372
21373       • Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT
21374
21375       • Type: SizeSuffix
21376
21377       • Default: 20Mi
21378

Dropbox

21380       Paths are specified as remote:path
21381
21382       Dropbox paths may be as deep as required, e.g.  remote:directory/subdi‐
21383       rectory.
21384
21385   Configuration
21386       The initial setup for dropbox involves getting  a  token  from  Dropbox
21387       which  you need to do in your browser.  rclone config walks you through
21388       it.
21389
21390       Here is an example of how to make a remote called remote.  First run:
21391
21392               rclone config
21393
21394       This will guide you through an interactive setup process:
21395
21396              n) New remote
21397              d) Delete remote
21398              q) Quit config
21399              e/n/d/q> n
21400              name> remote
21401              Type of storage to configure.
21402              Choose a number from below, or type in your own value
21403              [snip]
21404              XX / Dropbox
21405                 \ "dropbox"
21406              [snip]
21407              Storage> dropbox
21408              Dropbox App Key - leave blank normally.
21409              app_key>
21410              Dropbox App Secret - leave blank normally.
21411              app_secret>
21412              Remote config
21413              Please visit:
21414              https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
21415              Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
21416              --------------------
21417              [remote]
21418              app_key =
21419              app_secret =
21420              token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
21421              --------------------
21422              y) Yes this is OK
21423              e) Edit this remote
21424              d) Delete this remote
21425              y/e/d> y
21426
21427       You can then use it like this,
21428
21429       List directories in top level of your dropbox
21430
21431              rclone lsd remote:
21432
21433       List all the files in your dropbox
21434
21435              rclone ls remote:
21436
21437       To copy a local directory to a dropbox directory called backup
21438
21439              rclone copy /home/source remote:backup
21440
21441   Dropbox for business
21442       Rclone supports Dropbox for business and Team Folders.
21443
21444       When using Dropbox for business remote:  and  remote:path/to/file  will
21445       refer to your personal folder.
21446
21447       If  you  wish to see Team Folders you must use a leading / in the path,
21448       so rclone lsd remote:/ will refer to the root and  show  you  all  Team
21449       Folders and your User Folder.
21450
21451       You  can  then  use  team  folders like this remote:/TeamFolder and re‐
21452       mote:/TeamFolder/path/to/file.
21453
21454       A leading / for a Dropbox personal account will do nothing, but it will
21455       take an extra HTTP transaction so it should be avoided.
21456
21457   Modified time and Hashes
21458       Dropbox supports modified times, but the only way to set a modification
21459       time is to re-upload the file.
21460
21461       This means that if you uploaded your data  with  an  older  version  of
21462       rclone  which didn't support the v2 API and modified times, rclone will
21463       decide to upload all your old data to fix the modification  times.   If
21464       you  don't  want  this  to happen use --size-only or --checksum flag to
21465       stop it.
21466
21467       Dropbox supports its own  hash  type  (https://www.dropbox.com/develop
21468       ers/reference/content-hash) which is checked for all transfers.
21469
21470   Restricted filename characters
21471       Character   Value   Replacement
21472       ────────────────────────────────
21473       NUL         0x00         ␀
21474       /           0x2F        /
21475       DEL         0x7F         ␡
21476       \           0x5C        \
21477
21478       File  names can also not end with the following characters.  These only
21479       get replaced if they are the last character in the name:
21480
21481       Character   Value   Replacement
21482       ────────────────────────────────
21483       SP          0x20         ␠
21484
21485       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
21486       view/#invalid-utf8), as they can't be used in JSON strings.
21487
21488   Batch mode uploads
21489       Using  batch  mode uploads is very important for performance when using
21490       the Dropbox API.  See the dropbox performance  guide  (https://develop
21491       ers.dropbox.com/dbx-performance-guide) for more info.
21492
21493       There are 3 modes rclone can use for uploads.
21494
21495   --dropbox-batch-mode off
21496       In this mode rclone will not use upload batching.  This was the default
21497       before rclone v1.55.  It has the disadvantage that it is very likely to
21498       encounter too_many_requests errors like this
21499
21500              NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds.
21501
21502       When rclone receives these it has to wait for 15s or sometimes 300s be‐
21503       fore continuing which really slows down transfers.
21504
21505       This will happen especially if --transfers is large, so this mode isn't
21506       recommended except for compatibility or investigating problems.
21507
21508   --dropbox-batch-mode sync
21509       In  this  mode  rclone  will  batch up uploads to the size specified by
21510       --dropbox-batch-size and commit them together.
21511
21512       Using this mode means you can use a much higher  --transfers  parameter
21513       (32 or 64 works fine) without receiving too_many_requests errors.
21514
21515       This mode ensures full data integrity.
21516
21517       Note  that  there may be a pause when quitting rclone while rclone fin‐
21518       ishes up the last batch using this mode.
21519
21520   --dropbox-batch-mode async
21521       In this mode rclone will batch up uploads  to  the  size  specified  by
21522       --dropbox-batch-size and commit them together.
21523
21524       However  it will not wait for the status of the batch to be returned to
21525       the caller.  This means rclone can use a much bigger batch  size  (much
21526       bigger  than  --transfers),  at the cost of not being able to check the
21527       status of the upload.
21528
21529       This provides the maximum possible upload speed especially with lots of
21530       small  files, however rclone can't check the file got uploaded properly
21531       using this mode.
21532
21533       If you are using this mode then using "rclone check" after the transfer
21534       completes  is  recommended.   Or  you could do an initial transfer with
21535       --dropbox-batch-mode async  then  do  a  final  transfer  with  --drop‐
21536       box-batch-mode sync (the default).
21537
21538       Note  that  there may be a pause when quitting rclone while rclone fin‐
21539       ishes up the last batch using this mode.
21540
21541   Standard options
21542       Here are the standard options specific to dropbox (Dropbox).
21543
21544   --dropbox-client-id
21545       OAuth Client Id.
21546
21547       Leave blank normally.
21548
21549       • Config: client_id
21550
21551       • Env Var: RCLONE_DROPBOX_CLIENT_ID
21552
21553       • Type: string
21554
21555       • Default: ""
21556
21557   --dropbox-client-secret
21558       OAuth Client Secret.
21559
21560       Leave blank normally.
21561
21562       • Config: client_secret
21563
21564       • Env Var: RCLONE_DROPBOX_CLIENT_SECRET
21565
21566       • Type: string
21567
21568       • Default: ""
21569
21570   Advanced options
21571       Here are the advanced options specific to dropbox (Dropbox).
21572
21573   --dropbox-token
21574       OAuth Access Token as a JSON blob.
21575
21576       • Config: token
21577
21578       • Env Var: RCLONE_DROPBOX_TOKEN
21579
21580       • Type: string
21581
21582       • Default: ""
21583
21584   --dropbox-auth-url
21585       Auth server URL.
21586
21587       Leave blank to use the provider defaults.
21588
21589       • Config: auth_url
21590
21591       • Env Var: RCLONE_DROPBOX_AUTH_URL
21592
21593       • Type: string
21594
21595       • Default: ""
21596
21597   --dropbox-token-url
21598       Token server url.
21599
21600       Leave blank to use the provider defaults.
21601
21602       • Config: token_url
21603
21604       • Env Var: RCLONE_DROPBOX_TOKEN_URL
21605
21606       • Type: string
21607
21608       • Default: ""
21609
21610   --dropbox-chunk-size
21611       Upload chunk size (< 150Mi).
21612
21613       Any files larger than this will be uploaded in chunks of this size.
21614
21615       Note that chunks are buffered in memory (one at a time) so  rclone  can
21616       deal with retries.  Setting this larger will increase the speed slight‐
21617       ly (at most 10% for 128 MiB in tests) at the cost of using more memory.
21618       It can be set smaller if you are tight on memory.
21619
21620       • Config: chunk_size
21621
21622       • Env Var: RCLONE_DROPBOX_CHUNK_SIZE
21623
21624       • Type: SizeSuffix
21625
21626       • Default: 48Mi
21627
21628   --dropbox-impersonate
21629       Impersonate this user when using a business account.
21630
21631       Note  that  if  you  want to use impersonate, you should make sure this
21632       flag is set when running "rclone config" as this will cause  rclone  to
21633       request  the  "members.read"  scope  which  it won't normally.  This is
21634       needed to lookup a members email address  into  the  internal  ID  that
21635       dropbox uses in the API.
21636
21637       Using the "members.read" scope will require a Dropbox Team Admin to ap‐
21638       prove during the OAuth flow.
21639
21640       You will have to use your own  App  (setting  your  own  client_id  and
21641       client_secret)  to use this option as currently rclone's default set of
21642       permissions doesn't include "members.read".  This  can  be  added  once
21643       v1.55 or later is in use everywhere.
21644
21645       • Config: impersonate
21646
21647       • Env Var: RCLONE_DROPBOX_IMPERSONATE
21648
21649       • Type: string
21650
21651       • Default: ""
21652
21653   --dropbox-shared-files
21654       Instructs rclone to work on individual shared files.
21655
21656       In  this  mode rclone's features are extremely limited - only list (ls,
21657       lsl, etc.) operations and read operations (e.g.  downloading) are  sup‐
21658       ported in this mode.  All other operations will be disabled.
21659
21660       • Config: shared_files
21661
21662       • Env Var: RCLONE_DROPBOX_SHARED_FILES
21663
21664       • Type: bool
21665
21666       • Default: false
21667
21668   --dropbox-shared-folders
21669       Instructs rclone to work on shared folders.
21670
21671       When this flag is used with no path only the List operation is support‐
21672       ed and all available shared folders will be listed.  If you  specify  a
21673       path  the  first part will be interpreted as the name of shared folder.
21674       Rclone will then try to mount this shared to the  root  namespace.   On
21675       success  shared  folder rclone proceeds normally.  The shared folder is
21676       now pretty much a normal folder and all normal operations are  support‐
21677       ed.
21678
21679       Note  that we don't unmount the shared folder afterwards so the --drop‐
21680       box-shared-folders can be omitted after the first use of  a  particular
21681       shared folder.
21682
21683       • Config: shared_folders
21684
21685       • Env Var: RCLONE_DROPBOX_SHARED_FOLDERS
21686
21687       • Type: bool
21688
21689       • Default: false
21690
21691   --dropbox-batch-mode
21692       Upload file batching sync|async|off.
21693
21694       This sets the batch mode used by rclone.
21695
21696       For  full  info  see  the main docs (https://rclone.org/dropbox/#batch-
21697       mode)
21698
21699       This has 3 possible values
21700
21701       • off - no batching
21702
21703       • sync - batch uploads and check completion (default)
21704
21705       • async - batch upload and don't check completion
21706
21707       Rclone will close any outstanding batches when it exits which may  make
21708       a delay on quit.
21709
21710       • Config: batch_mode
21711
21712       • Env Var: RCLONE_DROPBOX_BATCH_MODE
21713
21714       • Type: string
21715
21716       • Default: "sync"
21717
21718   --dropbox-batch-size
21719       Max number of files in upload batch.
21720
21721       This  sets  the  batch size of files to upload.  It has to be less than
21722       1000.
21723
21724       By default this is 0 which means rclone which calculate the batch  size
21725       depending on the setting of batch_mode.
21726
21727       • batch_mode: async - default batch_size is 100
21728
21729       • batch_mode: sync - default batch_size is the same as --transfers
21730
21731       • batch_mode: off - not in use
21732
21733       Rclone  will close any outstanding batches when it exits which may make
21734       a delay on quit.
21735
21736       Setting this is a great idea if you are uploading lots of  small  files
21737       as it will make them a lot quicker.  You can use --transfers 32 to max‐
21738       imise throughput.
21739
21740       • Config: batch_size
21741
21742       • Env Var: RCLONE_DROPBOX_BATCH_SIZE
21743
21744       • Type: int
21745
21746       • Default: 0
21747
21748   --dropbox-batch-timeout
21749       Max time to allow an idle upload batch before uploading.
21750
21751       If an upload batch is idle for more than this long then it will be  up‐
21752       loaded.
21753
21754       The default for this is 0 which means rclone will choose a sensible de‐
21755       fault based on the batch_mode in use.
21756
21757       • batch_mode: async - default batch_timeout is 500ms
21758
21759       • batch_mode: sync - default batch_timeout is 10s
21760
21761       • batch_mode: off - not in use
21762
21763       • Config: batch_timeout
21764
21765       • Env Var: RCLONE_DROPBOX_BATCH_TIMEOUT
21766
21767       • Type: Duration
21768
21769       • Default: 0s
21770
21771   --dropbox-batch-commit-timeout
21772       Max time to wait for a batch to finish comitting
21773
21774       • Config: batch_commit_timeout
21775
21776       • Env Var: RCLONE_DROPBOX_BATCH_COMMIT_TIMEOUT
21777
21778       • Type: Duration
21779
21780       • Default: 10m0s
21781
21782   --dropbox-encoding
21783       This sets the encoding for the backend.
21784
21785       See the encoding  section  in  the  overview  (https://rclone.org/over
21786       view/#encoding) for more info.
21787
21788       • Config: encoding
21789
21790       • Env Var: RCLONE_DROPBOX_ENCODING
21791
21792       • Type: MultiEncoder
21793
21794       • Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
21795
21796   Limitations
21797       Note  that  Dropbox is case insensitive so you can't have a file called
21798       "Hello.doc" and one called "hello.doc".
21799
21800       There are some file names such as thumbs.db which Dropbox can't  store.
21801       There  is  a  full  list of them in the "Ignored Files" section of this
21802       document (https://www.dropbox.com/en/help/145).  Rclone will  issue  an
21803       error  message  File  name disallowed - not uploading if it attempts to
21804       upload one of those file names, but the sync won't fail.
21805
21806       Some errors may occur if you try to sync copyright-protected files  be‐
21807       cause      Dropbox      has      its     own     copyright     detector
21808       (https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-shar
21809       ing-copyrighted-stuff-without-actually-looking-at-your-stuff/)     that
21810       prevents this sort of file being downloaded.  This will return the  er‐
21811       ror  ERROR  : /path/to/your/file: Failed to copy: failed to open source
21812       object: path/restricted_content/.
21813
21814       If you have more than 10,000 files in a  directory  then  rclone  purge
21815       dropbox:dir  will  return the error Failed to purge: There are too many
21816       files involved in this operation.  As a work-around do an rclone delete
21817       dropbox:dir followed by an rclone rmdir dropbox:dir.
21818
21819       When  using rclone link you'll need to set --expire if using a non-per‐
21820       sonal account otherwise the visibility may not be correct.  (Note  that
21821       --expire  isn't supported on personal accounts).  See the forum discus‐
21822       sion (https://forum.rclone.org/t/rclone-link-dropbox-permissions/23211)
21823       and  the  dropbox SDK issue (https://github.com/dropbox/dropbox-sdk-go-
21824       unofficial/issues/75).
21825
21826   Get your own Dropbox App ID
21827       When you use rclone with Dropbox in its default configuration  you  are
21828       using rclone's App ID.  This is shared between all the rclone users.
21829
21830       Here is how to create your own Dropbox App ID for rclone:
21831
21832       1. Log  into  the Dropbox App console (https://www.dropbox.com/develop
21833          ers/apps/create) with your Dropbox Account (It need not  to  be  the
21834          same account as the Dropbox you want to access)
21835
21836       2. Choose an API => Usually this should be Dropbox API
21837
21838       3. Choose  the  type  of  access you want to use => Full Dropbox or App
21839          Folder
21840
21841       4. Name your App.  The app name is global, so you can't use rclone  for
21842          example
21843
21844       5. Click the button Create App
21845
21846       6. Switch  to  the Permissions tab.  Enable at least the following per‐
21847          missions:   account_info.read,   files.metadata.write,    files.con‐
21848          tent.write,  files.content.read,  sharing.write.   The files.metada‐
21849          ta.read and sharing.read checkboxes will be marked too.  Click  Sub‐
21850          mit
21851
21852       7. Switch  to  the  Settings  tab.   Fill  OAuth2  -  Redirect  URIs as
21853          http://localhost:53682/
21854
21855       8. Find the App key and App secret values on  the  Settings  tab.   Use
21856          these  values in rclone config to add a new remote or edit an exist‐
21857          ing remote.  The App key setting corresponds to client_id in  rclone
21858          config, the App secret corresponds to client_secret
21859

Enterprise File Fabric

21861       This  backend  supports  Storage  Made  Easy's  Enterprise File Fabric™
21862       (https://storagemadeeasy.com/about/) which provides a software solution
21863       to  integrate  and  unify  File and Object Storage accessible through a
21864       global file system.
21865
21866   Configuration
21867       The initial setup for the Enterprise File Fabric backend involves  get‐
21868       ting  a  token from the the Enterprise File Fabric which you need to do
21869       in your browser.  rclone config walks you through it.
21870
21871       Here is an example of how to make a remote called remote.  First run:
21872
21873               rclone config
21874
21875       This will guide you through an interactive setup process:
21876
21877              No remotes found - make a new one
21878              n) New remote
21879              s) Set configuration password
21880              q) Quit config
21881              n/s/q> n
21882              name> remote
21883              Type of storage to configure.
21884              Enter a string value. Press Enter for the default ("").
21885              Choose a number from below, or type in your own value
21886              [snip]
21887              XX / Enterprise File Fabric
21888                 \ "filefabric"
21889              [snip]
21890              Storage> filefabric
21891              ** See help for filefabric backend at: https://rclone.org/filefabric/ **
21892
21893              URL of the Enterprise File Fabric to connect to
21894              Enter a string value. Press Enter for the default ("").
21895              Choose a number from below, or type in your own value
21896               1 / Storage Made Easy US
21897                 \ "https://storagemadeeasy.com"
21898               2 / Storage Made Easy EU
21899                 \ "https://eu.storagemadeeasy.com"
21900               3 / Connect to your Enterprise File Fabric
21901                 \ "https://yourfabric.smestorage.com"
21902              url> https://yourfabric.smestorage.com/
21903              ID of the root folder
21904              Leave blank normally.
21905
21906              Fill in to make rclone start with directory of a given ID.
21907
21908              Enter a string value. Press Enter for the default ("").
21909              root_folder_id>
21910              Permanent Authentication Token
21911
21912              A Permanent Authentication Token can be created in the Enterprise File
21913              Fabric, on the users Dashboard under Security, there is an entry
21914              you'll see called "My Authentication Tokens". Click the Manage button
21915              to create one.
21916
21917              These tokens are normally valid for several years.
21918
21919              For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens
21920
21921              Enter a string value. Press Enter for the default ("").
21922              permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
21923              Edit advanced config? (y/n)
21924              y) Yes
21925              n) No (default)
21926              y/n> n
21927              Remote config
21928              --------------------
21929              [remote]
21930              type = filefabric
21931              url = https://yourfabric.smestorage.com/
21932              permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
21933              --------------------
21934              y) Yes this is OK (default)
21935              e) Edit this remote
21936              d) Delete this remote
21937              y/e/d> y
21938
21939       Once configured you can then use rclone like this,
21940
21941       List directories in top level of your Enterprise File Fabric
21942
21943              rclone lsd remote:
21944
21945       List all the files in your Enterprise File Fabric
21946
21947              rclone ls remote:
21948
21949       To copy a local directory to an Enterprise File Fabric directory called
21950       backup
21951
21952              rclone copy /home/source remote:backup
21953
21954   Modified time and hashes
21955       The Enterprise File Fabric allows modification times to be set on files
21956       accurate to 1 second.  These will be used  to  detect  whether  objects
21957       need syncing or not.
21958
21959       The  Enterprise  File  Fabric  does not support any data hashes at this
21960       time.
21961
21962   Restricted filename characters
21963       The default restricted characters set (https://rclone.org/overview/#re‐
21964       stricted-characters) will be replaced.
21965
21966       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
21967       view/#invalid-utf8), as they can't be used in JSON strings.
21968
21969   Empty files
21970       Empty files aren't supported by the  Enterprise  File  Fabric.   Rclone
21971       will  therefore upload an empty file as a single space with a mime type
21972       of application/vnd.rclone.empty.file and files with that mime type  are
21973       treated as empty.
21974
21975   Root folder ID
21976       You  can  set  the  root_folder_id  for  rclone.  This is the directory
21977       (identified by its Folder ID) that rclone considers to be the  root  of
21978       your Enterprise File Fabric.
21979
21980       Normally  you  will leave this blank and rclone will determine the cor‐
21981       rect root to use itself.
21982
21983       However you can set this to restrict rclone to a specific folder  hier‐
21984       archy.
21985
21986       In order to do this you will have to find the Folder ID of the directo‐
21987       ry you wish rclone to display.  These aren't displayed in the  web  in‐
21988       terface, but you can use rclone lsf to find them, for example
21989
21990              $ rclone lsf --dirs-only -Fip --csv filefabric:
21991              120673758,Burnt PDFs/
21992              120673759,My Quick Uploads/
21993              120673755,My Syncs/
21994              120673756,My backups/
21995              120673757,My contacts/
21996              120673761,S3 Storage/
21997
21998       The ID for "S3 Storage" would be 120673761.
21999
22000   Standard options
22001       Here  are  the standard options specific to filefabric (Enterprise File
22002       Fabric).
22003
22004   --filefabric-url
22005       URL of the Enterprise File Fabric to connect to.
22006
22007       • Config: url
22008
22009       • Env Var: RCLONE_FILEFABRIC_URL
22010
22011       • Type: string
22012
22013       • Default: ""
22014
22015       • Examples:
22016
22017         • "https://storagemadeeasy.com"
22018
22019           • Storage Made Easy US
22020
22021         • "https://eu.storagemadeeasy.com"
22022
22023           • Storage Made Easy EU
22024
22025         • "https://yourfabric.smestorage.com"
22026
22027           • Connect to your Enterprise File Fabric
22028
22029   --filefabric-root-folder-id
22030       ID of the root folder.
22031
22032       Leave blank normally.
22033
22034       Fill in to make rclone start with directory of a given ID.
22035
22036       • Config: root_folder_id
22037
22038       • Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID
22039
22040       • Type: string
22041
22042       • Default: ""
22043
22044   --filefabric-permanent-token
22045       Permanent Authentication Token.
22046
22047       A Permanent Authentication Token can be created in the Enterprise  File
22048       Fabric, on the users Dashboard under Security, there is an entry you'll
22049       see called "My Authentication Tokens".  Click the Manage button to cre‐
22050       ate one.
22051
22052       These tokens are normally valid for several years.
22053
22054       For   more   info  see:  https://docs.storagemadeeasy.com/organisation
22055       cloud/api-tokens
22056
22057       • Config: permanent_token
22058
22059       • Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN
22060
22061       • Type: string
22062
22063       • Default: ""
22064
22065   Advanced options
22066       Here are the advanced options specific to filefabric  (Enterprise  File
22067       Fabric).
22068
22069   --filefabric-token
22070       Session Token.
22071
22072       This  is a session token which rclone caches in the config file.  It is
22073       usually valid for 1 hour.
22074
22075       Don't set this value - rclone will set it automatically.
22076
22077       • Config: token
22078
22079       • Env Var: RCLONE_FILEFABRIC_TOKEN
22080
22081       • Type: string
22082
22083       • Default: ""
22084
22085   --filefabric-token-expiry
22086       Token expiry time.
22087
22088       Don't set this value - rclone will set it automatically.
22089
22090       • Config: token_expiry
22091
22092       • Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY
22093
22094       • Type: string
22095
22096       • Default: ""
22097
22098   --filefabric-version
22099       Version read from the file fabric.
22100
22101       Don't set this value - rclone will set it automatically.
22102
22103       • Config: version
22104
22105       • Env Var: RCLONE_FILEFABRIC_VERSION
22106
22107       • Type: string
22108
22109       • Default: ""
22110
22111   --filefabric-encoding
22112       This sets the encoding for the backend.
22113
22114       See the encoding  section  in  the  overview  (https://rclone.org/over
22115       view/#encoding) for more info.
22116
22117       • Config: encoding
22118
22119       • Env Var: RCLONE_FILEFABRIC_ENCODING
22120
22121       • Type: MultiEncoder
22122
22123       • Default: Slash,Del,Ctl,InvalidUtf8,Dot
22124

FTP

22126       FTP  is the File Transfer Protocol.  Rclone FTP support is provided us‐
22127       ing  the  github.com/jlaffaye/ftp   (https://godoc.org/github.com/jlaf
22128       faye/ftp) package.
22129
22130       Limitations of Rclone's FTP backend
22131
22132       Paths  are specified as remote:path.  If the path does not begin with a
22133       / it is relative to the home directory of the user.  An empty path  re‐
22134       mote: refers to the user's home directory.
22135
22136   Configuration
22137       To create an FTP configuration named remote, run
22138
22139              rclone config
22140
22141       Rclone config guides you through an interactive setup process.  A mini‐
22142       mal rclone FTP remote definition only requires host, username and pass‐
22143       word.   For an anonymous FTP server, use anonymous as username and your
22144       email address as password.
22145
22146              No remotes found - make a new one
22147              n) New remote
22148              r) Rename remote
22149              c) Copy remote
22150              s) Set configuration password
22151              q) Quit config
22152              n/r/c/s/q> n
22153              name> remote
22154              Type of storage to configure.
22155              Enter a string value. Press Enter for the default ("").
22156              Choose a number from below, or type in your own value
22157              [snip]
22158              XX / FTP Connection
22159                 \ "ftp"
22160              [snip]
22161              Storage> ftp
22162              ** See help for ftp backend at: https://rclone.org/ftp/ **
22163
22164              FTP host to connect to
22165              Enter a string value. Press Enter for the default ("").
22166              Choose a number from below, or type in your own value
22167               1 / Connect to ftp.example.com
22168                 \ "ftp.example.com"
22169              host> ftp.example.com
22170              FTP username, leave blank for current username, $USER
22171              Enter a string value. Press Enter for the default ("").
22172              user>
22173              FTP port, leave blank to use default (21)
22174              Enter a string value. Press Enter for the default ("").
22175              port>
22176              FTP password
22177              y) Yes type in my own password
22178              g) Generate random password
22179              y/g> y
22180              Enter the password:
22181              password:
22182              Confirm the password:
22183              password:
22184              Use FTP over TLS (Implicit)
22185              Enter a boolean value (true or false). Press Enter for the default ("false").
22186              tls>
22187              Use FTP over TLS (Explicit)
22188              Enter a boolean value (true or false). Press Enter for the default ("false").
22189              explicit_tls>
22190              Remote config
22191              --------------------
22192              [remote]
22193              type = ftp
22194              host = ftp.example.com
22195              pass = *** ENCRYPTED ***
22196              --------------------
22197              y) Yes this is OK
22198              e) Edit this remote
22199              d) Delete this remote
22200              y/e/d> y
22201
22202       To see all directories in the home directory of remote
22203
22204              rclone lsd remote:
22205
22206       Make a new directory
22207
22208              rclone mkdir remote:path/to/directory
22209
22210       List the contents of a directory
22211
22212              rclone ls remote:path/to/directory
22213
22214       Sync /home/local/directory to the remote directory, deleting any excess
22215       files in the directory.
22216
22217              rclone sync -i /home/local/directory remote:directory
22218
22219   Example without a config file
22220              rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=`rclone obscure dummy`
22221
22222   Implicit TLS
22223       Rlone  FTP  supports implicit FTP over TLS servers (FTPS).  This has to
22224       be enabled in the FTP backend config for the remote, or with --ftp-tls.
22225       The default FTPS port is 990, not 21 and can be set with --ftp-port.
22226
22227   Restricted filename characters
22228       In    addition    to    the    default    restricted   characters   set
22229       (https://rclone.org/overview/#restricted-characters)   the    following
22230       characters are also replaced:
22231
22232       File  names  cannot  end  with the following characters.  Repacement is
22233       limited to the last character in a file name:
22234
22235       Character   Value   Replacement
22236       ────────────────────────────────
22237       SP          0x20         ␠
22238
22239       Not all FTP servers can have all characters in file names, for example:
22240
22241       FTP Server   Forbidden characters
22242       ──────────────────────────────────
22243
22244       proftpd               *
22245       pureftpd            \ [ ]
22246
22247       This backend's interactive configuration wizard provides a selection of
22248       sensible  encoding  settings  for major FTP servers: ProFTPd, PureFTPd,
22249       VsFTPd.  Just hit a selection number when prompted.
22250
22251   Standard options
22252       Here are the standard options specific to ftp (FTP Connection).
22253
22254   --ftp-host
22255       FTP host to connect to.
22256
22257       E.g.  "ftp.example.com".
22258
22259       • Config: host
22260
22261       • Env Var: RCLONE_FTP_HOST
22262
22263       • Type: string
22264
22265       • Default: ""
22266
22267   --ftp-user
22268       FTP username, leave blank for current username, $USER.
22269
22270       • Config: user
22271
22272       • Env Var: RCLONE_FTP_USER
22273
22274       • Type: string
22275
22276       • Default: ""
22277
22278   --ftp-port
22279       FTP port, leave blank to use default (21).
22280
22281       • Config: port
22282
22283       • Env Var: RCLONE_FTP_PORT
22284
22285       • Type: string
22286
22287       • Default: ""
22288
22289   --ftp-pass
22290       FTP password.
22291
22292       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
22293       (https://rclone.org/commands/rclone_obscure/).
22294
22295       • Config: pass
22296
22297       • Env Var: RCLONE_FTP_PASS
22298
22299       • Type: string
22300
22301       • Default: ""
22302
22303   --ftp-tls
22304       Use Implicit FTPS (FTP over TLS).
22305
22306       When  using  implicit  FTP over TLS the client connects using TLS right
22307       from the start which breaks compatibility with  non-TLS-aware  servers.
22308       This  is  usually  served over port 990 rather than port 21.  Cannot be
22309       used in combination with explicit FTP.
22310
22311       • Config: tls
22312
22313       • Env Var: RCLONE_FTP_TLS
22314
22315       • Type: bool
22316
22317       • Default: false
22318
22319   --ftp-explicit-tls
22320       Use Explicit FTPS (FTP over TLS).
22321
22322       When using explicit FTP over TLS the client explicitly requests securi‐
22323       ty  from  the  server in order to upgrade a plain text connection to an
22324       encrypted one.  Cannot be used in combination with implicit FTP.
22325
22326       • Config: explicit_tls
22327
22328       • Env Var: RCLONE_FTP_EXPLICIT_TLS
22329
22330       • Type: bool
22331
22332       • Default: false
22333
22334   Advanced options
22335       Here are the advanced options specific to ftp (FTP Connection).
22336
22337   --ftp-concurrency
22338       Maximum number of FTP simultaneous connections, 0 for unlimited.
22339
22340       • Config: concurrency
22341
22342       • Env Var: RCLONE_FTP_CONCURRENCY
22343
22344       • Type: int
22345
22346       • Default: 0
22347
22348   --ftp-no-check-certificate
22349       Do not verify the TLS certificate of the server.
22350
22351       • Config: no_check_certificate
22352
22353       • Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
22354
22355       • Type: bool
22356
22357       • Default: false
22358
22359   --ftp-disable-epsv
22360       Disable using EPSV even if server advertises support.
22361
22362       • Config: disable_epsv
22363
22364       • Env Var: RCLONE_FTP_DISABLE_EPSV
22365
22366       • Type: bool
22367
22368       • Default: false
22369
22370   --ftp-disable-mlsd
22371       Disable using MLSD even if server advertises support.
22372
22373       • Config: disable_mlsd
22374
22375       • Env Var: RCLONE_FTP_DISABLE_MLSD
22376
22377       • Type: bool
22378
22379       • Default: false
22380
22381   --ftp-writing-mdtm
22382       Use MDTM to set modification time (VsFtpd quirk)
22383
22384       • Config: writing_mdtm
22385
22386       • Env Var: RCLONE_FTP_WRITING_MDTM
22387
22388       • Type: bool
22389
22390       • Default: false
22391
22392   --ftp-idle-timeout
22393       Max time before closing idle connections.
22394
22395       If no connections have been returned to the connection pool in the time
22396       given, rclone will empty the connection pool.
22397
22398       Set to 0 to keep connections indefinitely.
22399
22400       • Config: idle_timeout
22401
22402       • Env Var: RCLONE_FTP_IDLE_TIMEOUT
22403
22404       • Type: Duration
22405
22406       • Default: 1m0s
22407
22408   --ftp-close-timeout
22409       Maximum time to wait for a response to close.
22410
22411       • Config: close_timeout
22412
22413       • Env Var: RCLONE_FTP_CLOSE_TIMEOUT
22414
22415       • Type: Duration
22416
22417       • Default: 1m0s
22418
22419   --ftp-tls-cache-size
22420       Size of TLS session cache for all control and data connections.
22421
22422       TLS  cache  allows to resume TLS sessions and reuse PSK between connec‐
22423       tions.  Increase if default size is not enough resulting in TLS resump‐
22424       tion errors.  Enabled by default.  Use 0 to disable.
22425
22426       • Config: tls_cache_size
22427
22428       • Env Var: RCLONE_FTP_TLS_CACHE_SIZE
22429
22430       • Type: int
22431
22432       • Default: 32
22433
22434   --ftp-disable-tls13
22435       Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
22436
22437       • Config: disable_tls13
22438
22439       • Env Var: RCLONE_FTP_DISABLE_TLS13
22440
22441       • Type: bool
22442
22443       • Default: false
22444
22445   --ftp-shut-timeout
22446       Maximum time to wait for data connection closing status.
22447
22448       • Config: shut_timeout
22449
22450       • Env Var: RCLONE_FTP_SHUT_TIMEOUT
22451
22452       • Type: Duration
22453
22454       • Default: 1m0s
22455
22456   --ftp-encoding
22457       This sets the encoding for the backend.
22458
22459       See  the  encoding  section  in  the overview (https://rclone.org/over
22460       view/#encoding) for more info.
22461
22462       • Config: encoding
22463
22464       • Env Var: RCLONE_FTP_ENCODING
22465
22466       • Type: MultiEncoder
22467
22468       • Default: Slash,Del,Ctl,RightSpace,Dot
22469
22470       • Examples:
22471
22472         • "Asterisk,Ctl,Dot,Slash"
22473
22474           • ProFTPd can't handle '*' in file names
22475
22476         • "BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket"
22477
22478           • PureFTPd can't handle '[]' or '*' in file names
22479
22480         • "Ctl,LeftPeriod,Slash"
22481
22482           • VsFTPd can't handle file names starting with dot
22483
22484   Limitations
22485       FTP servers acting as rclone remotes must support  passive  mode.   The
22486       mode  cannot  be  configured  as  passive  is  the  only supported one.
22487       Rclone's FTP implementation is not compatible with active mode  as  the
22488       library it uses doesn't support it (https://github.com/jlaffaye/ftp/is
22489       sues/29).  This will likely never be supported  due  to  security  con‐
22490       cerns.
22491
22492       Rclone's  FTP  backend  does  not support any checksums but can compare
22493       file sizes.
22494
22495       rclone about is not supported by the  FTP  backend.   Backends  without
22496       this  capability cannot determine free space for an rclone mount or use
22497       policy mfs (most free space) as a member of an rclone union remote.
22498
22499       See   List   of   backends   that   do   not   support   rclone   about
22500       (https://rclone.org/overview/#optional-features)   See   rclone   about
22501       (https://rclone.org/commands/rclone_about/)
22502
22503       The implementation of : --dump headers, --dump bodies, --dump auth  for
22504       debugging  isn't  the  same  as for rclone HTTP based backends - it has
22505       less fine grained control.
22506
22507       --timeout isn't supported (but --contimeout is).
22508
22509       --bind isn't supported.
22510
22511       Rclone's FTP backend could support server-side move  but  does  not  at
22512       present.
22513
22514       The ftp_proxy environment variable is not currently supported.
22515
22516   Modified time
22517       File modification time (timestamps) is supported to 1 second resolution
22518       for major FTP servers: ProFTPd, PureFTPd,  VsFTPd,  and  FileZilla  FTP
22519       server.   The VsFTPd server has non-standard implementation of time re‐
22520       lated protocol commands and  needs  a  special  configuration  setting:
22521       writing_mdtm = true.
22522
22523       Support  for  precise file time with other FTP servers varies depending
22524       on what protocol extensions they advertise.  If all the MLSD, MDTM  and
22525       MFTM  extensions  are present, rclone will use them together to provide
22526       precise time.  Otherwise the times you see on the  FTP  server  through
22527       rclone are those of the last file upload.
22528
22529       You  can use the following command to check whether rclone can use pre‐
22530       cise time with your FTP server: rclone  backend  features  your_ftp_re‐
22531       mote:  (the  trailing  colon is important).  Look for the number in the
22532       line tagged by Precision designating  the  remote  time  precision  ex‐
22533       pressed  as  nanoseconds.   A  value of 1000000000 means that file time
22534       precision of 1 second is available.  A value of 3153600000000000000 (or
22535       another large number) means "unsupported".
22536

Google Cloud Storage

22538       Paths  are specified as remote:bucket (or remote: for the lsd command.)
22539       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
22540
22541   Configuration
22542       The initial setup for google cloud storage  involves  getting  a  token
22543       from Google Cloud Storage which you need to do in your browser.  rclone
22544       config walks you through it.
22545
22546       Here is an example of how to make a remote called remote.  First run:
22547
22548               rclone config
22549
22550       This will guide you through an interactive setup process:
22551
22552              n) New remote
22553              d) Delete remote
22554              q) Quit config
22555              e/n/d/q> n
22556              name> remote
22557              Type of storage to configure.
22558              Choose a number from below, or type in your own value
22559              [snip]
22560              XX / Google Cloud Storage (this is not Google Drive)
22561                 \ "google cloud storage"
22562              [snip]
22563              Storage> google cloud storage
22564              Google Application Client Id - leave blank normally.
22565              client_id>
22566              Google Application Client Secret - leave blank normally.
22567              client_secret>
22568              Project number optional - needed only for list/create/delete buckets - see your developer console.
22569              project_number> 12345678
22570              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
22571              service_account_file>
22572              Access Control List for new objects.
22573              Choose a number from below, or type in your own value
22574               1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
22575                 \ "authenticatedRead"
22576               2 / Object owner gets OWNER access, and project team owners get OWNER access.
22577                 \ "bucketOwnerFullControl"
22578               3 / Object owner gets OWNER access, and project team owners get READER access.
22579                 \ "bucketOwnerRead"
22580               4 / Object owner gets OWNER access [default if left blank].
22581                 \ "private"
22582               5 / Object owner gets OWNER access, and project team members get access according to their roles.
22583                 \ "projectPrivate"
22584               6 / Object owner gets OWNER access, and all Users get READER access.
22585                 \ "publicRead"
22586              object_acl> 4
22587              Access Control List for new buckets.
22588              Choose a number from below, or type in your own value
22589               1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
22590                 \ "authenticatedRead"
22591               2 / Project team owners get OWNER access [default if left blank].
22592                 \ "private"
22593               3 / Project team members get access according to their roles.
22594                 \ "projectPrivate"
22595               4 / Project team owners get OWNER access, and all Users get READER access.
22596                 \ "publicRead"
22597               5 / Project team owners get OWNER access, and all Users get WRITER access.
22598                 \ "publicReadWrite"
22599              bucket_acl> 2
22600              Location for the newly created buckets.
22601              Choose a number from below, or type in your own value
22602               1 / Empty for default location (US).
22603                 \ ""
22604               2 / Multi-regional location for Asia.
22605                 \ "asia"
22606               3 / Multi-regional location for Europe.
22607                 \ "eu"
22608               4 / Multi-regional location for United States.
22609                 \ "us"
22610               5 / Taiwan.
22611                 \ "asia-east1"
22612               6 / Tokyo.
22613                 \ "asia-northeast1"
22614               7 / Singapore.
22615                 \ "asia-southeast1"
22616               8 / Sydney.
22617                 \ "australia-southeast1"
22618               9 / Belgium.
22619                 \ "europe-west1"
22620              10 / London.
22621                 \ "europe-west2"
22622              11 / Iowa.
22623                 \ "us-central1"
22624              12 / South Carolina.
22625                 \ "us-east1"
22626              13 / Northern Virginia.
22627                 \ "us-east4"
22628              14 / Oregon.
22629                 \ "us-west1"
22630              location> 12
22631              The storage class to use when storing objects in Google Cloud Storage.
22632              Choose a number from below, or type in your own value
22633               1 / Default
22634                 \ ""
22635               2 / Multi-regional storage class
22636                 \ "MULTI_REGIONAL"
22637               3 / Regional storage class
22638                 \ "REGIONAL"
22639               4 / Nearline storage class
22640                 \ "NEARLINE"
22641               5 / Coldline storage class
22642                 \ "COLDLINE"
22643               6 / Durable reduced availability storage class
22644                 \ "DURABLE_REDUCED_AVAILABILITY"
22645              storage_class> 5
22646              Remote config
22647              Use auto config?
22648               * Say Y if not sure
22649               * Say N if you are working on a remote or headless machine or Y didn't work
22650              y) Yes
22651              n) No
22652              y/n> y
22653              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
22654              Log in and authorize rclone for access
22655              Waiting for code...
22656              Got code
22657              --------------------
22658              [remote]
22659              type = google cloud storage
22660              client_id =
22661              client_secret =
22662              token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
22663              project_number = 12345678
22664              object_acl = private
22665              bucket_acl = private
22666              --------------------
22667              y) Yes this is OK
22668              e) Edit this remote
22669              d) Delete this remote
22670              y/e/d> y
22671
22672       Note that rclone runs a webserver on your local machine to collect  the
22673       token  as  returned from Google if you use auto config mode.  This only
22674       runs from the moment it opens your browser to the moment you  get  back
22675       the  verification code.  This is on http://127.0.0.1:53682/ and this it
22676       may require you to unblock it temporarily if you  are  running  a  host
22677       firewall, or use manual mode.
22678
22679       This remote is called remote and can now be used like this
22680
22681       See all the buckets in your project
22682
22683              rclone lsd remote:
22684
22685       Make a new bucket
22686
22687              rclone mkdir remote:bucket
22688
22689       List the contents of a bucket
22690
22691              rclone ls remote:bucket
22692
22693       Sync  /home/local/directory  to  the remote bucket, deleting any excess
22694       files in the bucket.
22695
22696              rclone sync -i /home/local/directory remote:bucket
22697
22698   Service Account support
22699       You can set up rclone with Google Cloud Storage in an unattended  mode,
22700       i.e.   not  tied to a specific end-user Google account.  This is useful
22701       when you want to synchronise files onto machines that  don't  have  ac‐
22702       tively logged-in users, for example build machines.
22703
22704       To  get  credentials  for  Google  Cloud  Platform IAM Service Accounts
22705       (https://cloud.google.com/iam/docs/service-accounts),  please  head  to
22706       the  Service Account (https://console.cloud.google.com/permissions/ser
22707       viceaccounts) section of the Google  Developer  Console.   Service  Ac‐
22708       counts behave just like normal User permissions in Google Cloud Storage
22709       ACLs (https://cloud.google.com/storage/docs/access-control), so you can
22710       limit  their access (e.g.  make them read only).  After creating an ac‐
22711       count, a JSON file containing the Service Account's credentials will be
22712       downloaded  onto your machines.  These credentials are what rclone will
22713       use for authentication.
22714
22715       To use a Service Account instead of OAuth2 token flow, enter  the  path
22716       to  your Service Account credentials at the service_account_file prompt
22717       and rclone won't use the browser based authentication flow.   If  you'd
22718       rather  stuff the contents of the credentials file into the rclone con‐
22719       fig file, you can set service_account_credentials with the actual  con‐
22720       tents of the file instead, or set the equivalent environment variable.
22721
22722   Anonymous Access
22723       For  downloads  of  objects that permit public access you can configure
22724       rclone to use anonymous access by  setting  anonymous  to  true.   With
22725       unauthorized  access  you  can't write or create files but only read or
22726       list those buckets and objects that have public read access.
22727
22728   Application Default Credentials
22729       If no other source of credentials is provided, rclone will fall back to
22730       Application  Default Credentials (https://cloud.google.com/video-intel
22731       ligence/docs/common/auth#authenticating_with_application_default_cre‐
22732       dentials)  this is useful both when you already have configured authen‐
22733       tication for your developer account, or in production when running on a
22734       google  compute  host.  Note that if running in docker, you may need to
22735       run additional commands on your google compute machine - see this  page
22736       (https://cloud.google.com/container-registry/docs/advanced-authentica
22737       tion#gcloud_as_a_docker_credential_helper).
22738
22739       Note that in the case application default credentials are  used,  there
22740       is no need to explicitly configure a project number.
22741
22742   --fast-list
22743       This remote supports --fast-list which allows you to use fewer transac‐
22744       tions  in  exchange   for   more   memory.    See   the   rclone   docs
22745       (https://rclone.org/docs/#fast-list) for more details.
22746
22747   Custom upload headers
22748       You  can  set  custom  upload  headers  with  the --header-upload flag.
22749       Google Cloud Storage supports the headers as described in  the  working
22750       with metadata documentation (https://cloud.google.com/storage/docs/gsu
22751       til/addlhelp/WorkingWithObjectMetadata)
22752
22753       • Cache-Control
22754
22755       • Content-Disposition
22756
22757       • Content-Encoding
22758
22759       • Content-Language
22760
22761       • Content-Type
22762
22763       • X-Goog-Storage-Class
22764
22765       • X-Goog-Meta-
22766
22767       Eg --header-upload "Content-Type text/potato"
22768
22769       Note that the last of these is for setting custom metadata in the  form
22770       --header-upload "x-goog-meta-key: value"
22771
22772   Modification time
22773       Google   Cloud   Storage   stores  md5sum  natively.   Google's  gsutil
22774       (https://cloud.google.com/storage/docs/gsutil) tool stores modification
22775       time  with  one-second  precision  as  goog-reserved-file-mtime in file
22776       metadata.
22777
22778       To ensure compatibility with gsutil, rclone stores modification time in
22779       2   separate   metadata   entries.   mtime  uses  RFC3339  format  with
22780       one-nanosecond precision.  goog-reserved-file-mtime uses Unix timestamp
22781       format with one-second precision.  To get modification time from object
22782       metadata, rclone reads the metadata  in  the  following  order:  mtime,
22783       goog-reserved-file-mtime, object updated time.
22784
22785       Note  that  rclone's  default  modify window is 1ns.  Files uploaded by
22786       gsutil only contain timestamps with one-second precision.  If  you  use
22787       rclone to sync files previously uploaded by gsutil, rclone will attempt
22788       to update modification time for all these files.  To avoid these possi‐
22789       bly unnecessary updates, use --modify-window 1s.
22790
22791   Restricted filename characters
22792       Character   Value   Replacement
22793       ────────────────────────────────
22794       NUL         0x00         ␀
22795       LF          0x0A         ␊
22796       CR          0x0D         ␍
22797       /           0x2F        /
22798
22799       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
22800       view/#invalid-utf8), as they can't be used in JSON strings.
22801
22802   Standard options
22803       Here are the standard options specific to google cloud storage  (Google
22804       Cloud Storage (this is not Google Drive)).
22805
22806   --gcs-client-id
22807       OAuth Client Id.
22808
22809       Leave blank normally.
22810
22811       • Config: client_id
22812
22813       • Env Var: RCLONE_GCS_CLIENT_ID
22814
22815       • Type: string
22816
22817       • Default: ""
22818
22819   --gcs-client-secret
22820       OAuth Client Secret.
22821
22822       Leave blank normally.
22823
22824       • Config: client_secret
22825
22826       • Env Var: RCLONE_GCS_CLIENT_SECRET
22827
22828       • Type: string
22829
22830       • Default: ""
22831
22832   --gcs-project-number
22833       Project number.
22834
22835       Optional - needed only for list/create/delete buckets - see your devel‐
22836       oper console.
22837
22838       • Config: project_number
22839
22840       • Env Var: RCLONE_GCS_PROJECT_NUMBER
22841
22842       • Type: string
22843
22844       • Default: ""
22845
22846   --gcs-service-account-file
22847       Service Account Credentials JSON file path.
22848
22849       Leave blank normally.  Needed only if you want use SA instead of inter‐
22850       active login.
22851
22852       Leading  ~  will be expanded in the file name as will environment vari‐
22853       ables such as ${RCLONE_CONFIG_DIR}.
22854
22855       • Config: service_account_file
22856
22857       • Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
22858
22859       • Type: string
22860
22861       • Default: ""
22862
22863   --gcs-service-account-credentials
22864       Service Account Credentials JSON blob.
22865
22866       Leave blank normally.  Needed only if you want use SA instead of inter‐
22867       active login.
22868
22869       • Config: service_account_credentials
22870
22871       • Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
22872
22873       • Type: string
22874
22875       • Default: ""
22876
22877   --gcs-anonymous
22878       Access public buckets and objects without credentials.
22879
22880       Set  to  'true'  if you just want to download files and don't configure
22881       credentials.
22882
22883       • Config: anonymous
22884
22885       • Env Var: RCLONE_GCS_ANONYMOUS
22886
22887       • Type: bool
22888
22889       • Default: false
22890
22891   --gcs-object-acl
22892       Access Control List for new objects.
22893
22894       • Config: object_acl
22895
22896       • Env Var: RCLONE_GCS_OBJECT_ACL
22897
22898       • Type: string
22899
22900       • Default: ""
22901
22902       • Examples:
22903
22904         • "authenticatedRead"
22905
22906           • Object owner gets OWNER access.
22907
22908           • All Authenticated Users get READER access.
22909
22910         • "bucketOwnerFullControl"
22911
22912           • Object owner gets OWNER access.
22913
22914           • Project team owners get OWNER access.
22915
22916         • "bucketOwnerRead"
22917
22918           • Object owner gets OWNER access.
22919
22920           • Project team owners get READER access.
22921
22922         • "private"
22923
22924           • Object owner gets OWNER access.
22925
22926           • Default if left blank.
22927
22928         • "projectPrivate"
22929
22930           • Object owner gets OWNER access.
22931
22932           • Project team members get access according to their roles.
22933
22934         • "publicRead"
22935
22936           • Object owner gets OWNER access.
22937
22938           • All Users get READER access.
22939
22940   --gcs-bucket-acl
22941       Access Control List for new buckets.
22942
22943       • Config: bucket_acl
22944
22945       • Env Var: RCLONE_GCS_BUCKET_ACL
22946
22947       • Type: string
22948
22949       • Default: ""
22950
22951       • Examples:
22952
22953         • "authenticatedRead"
22954
22955           • Project team owners get OWNER access.
22956
22957           • All Authenticated Users get READER access.
22958
22959         • "private"
22960
22961           • Project team owners get OWNER access.
22962
22963           • Default if left blank.
22964
22965         • "projectPrivate"
22966
22967           • Project team members get access according to their roles.
22968
22969         • "publicRead"
22970
22971           • Project team owners get OWNER access.
22972
22973           • All Users get READER access.
22974
22975         • "publicReadWrite"
22976
22977           • Project team owners get OWNER access.
22978
22979           • All Users get WRITER access.
22980
22981   --gcs-bucket-policy-only
22982       Access checks should use bucket-level IAM policies.
22983
22984       If you want to upload objects to a bucket with Bucket Policy  Only  set
22985       then you will need to set this.
22986
22987       When it is set, rclone:
22988
22989       • ignores ACLs set on buckets
22990
22991       • ignores ACLs set on objects
22992
22993       • creates buckets with Bucket Policy Only set
22994
22995       Docs: https://cloud.google.com/storage/docs/bucket-policy-only
22996
22997       • Config: bucket_policy_only
22998
22999       • Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
23000
23001       • Type: bool
23002
23003       • Default: false
23004
23005   --gcs-location
23006       Location for the newly created buckets.
23007
23008       • Config: location
23009
23010       • Env Var: RCLONE_GCS_LOCATION
23011
23012       • Type: string
23013
23014       • Default: ""
23015
23016       • Examples:
23017
23018         • ""
23019
23020           • Empty for default location (US)
23021
23022         • "asia"
23023
23024           • Multi-regional location for Asia
23025
23026         • "eu"
23027
23028           • Multi-regional location for Europe
23029
23030         • "us"
23031
23032           • Multi-regional location for United States
23033
23034         • "asia-east1"
23035
23036           • Taiwan
23037
23038         • "asia-east2"
23039
23040           • Hong Kong
23041
23042         • "asia-northeast1"
23043
23044           • Tokyo
23045
23046         • "asia-south1"
23047
23048           • Mumbai
23049
23050         • "asia-southeast1"
23051
23052           • Singapore
23053
23054         • "australia-southeast1"
23055
23056           • Sydney
23057
23058         • "europe-north1"
23059
23060           • Finland
23061
23062         • "europe-west1"
23063
23064           • Belgium
23065
23066         • "europe-west2"
23067
23068           • London
23069
23070         • "europe-west3"
23071
23072           • Frankfurt
23073
23074         • "europe-west4"
23075
23076           • Netherlands
23077
23078         • "us-central1"
23079
23080           • Iowa
23081
23082         • "us-east1"
23083
23084           • South Carolina
23085
23086         • "us-east4"
23087
23088           • Northern Virginia
23089
23090         • "us-west1"
23091
23092           • Oregon
23093
23094         • "us-west2"
23095
23096           • California
23097
23098   --gcs-storage-class
23099       The storage class to use when storing objects in Google Cloud Storage.
23100
23101       • Config: storage_class
23102
23103       • Env Var: RCLONE_GCS_STORAGE_CLASS
23104
23105       • Type: string
23106
23107       • Default: ""
23108
23109       • Examples:
23110
23111         • ""
23112
23113           • Default
23114
23115         • "MULTI_REGIONAL"
23116
23117           • Multi-regional storage class
23118
23119         • "REGIONAL"
23120
23121           • Regional storage class
23122
23123         • "NEARLINE"
23124
23125           • Nearline storage class
23126
23127         • "COLDLINE"
23128
23129           • Coldline storage class
23130
23131         • "ARCHIVE"
23132
23133           • Archive storage class
23134
23135         • "DURABLE_REDUCED_AVAILABILITY"
23136
23137           • Durable reduced availability storage class
23138
23139   Advanced options
23140       Here  are the advanced options specific to google cloud storage (Google
23141       Cloud Storage (this is not Google Drive)).
23142
23143   --gcs-token
23144       OAuth Access Token as a JSON blob.
23145
23146       • Config: token
23147
23148       • Env Var: RCLONE_GCS_TOKEN
23149
23150       • Type: string
23151
23152       • Default: ""
23153
23154   --gcs-auth-url
23155       Auth server URL.
23156
23157       Leave blank to use the provider defaults.
23158
23159       • Config: auth_url
23160
23161       • Env Var: RCLONE_GCS_AUTH_URL
23162
23163       • Type: string
23164
23165       • Default: ""
23166
23167   --gcs-token-url
23168       Token server url.
23169
23170       Leave blank to use the provider defaults.
23171
23172       • Config: token_url
23173
23174       • Env Var: RCLONE_GCS_TOKEN_URL
23175
23176       • Type: string
23177
23178       • Default: ""
23179
23180   --gcs-encoding
23181       This sets the encoding for the backend.
23182
23183       See the encoding  section  in  the  overview  (https://rclone.org/over
23184       view/#encoding) for more info.
23185
23186       • Config: encoding
23187
23188       • Env Var: RCLONE_GCS_ENCODING
23189
23190       • Type: MultiEncoder
23191
23192       • Default: Slash,CrLf,InvalidUtf8,Dot
23193
23194   Limitations
23195       rclone  about  is  not  supported  by the Google Cloud Storage backend.
23196       Backends without this capability cannot determine  free  space  for  an
23197       rclone  mount  or  use  policy  mfs (most free space) as a member of an
23198       rclone union remote.
23199
23200       See   List   of   backends   that   do   not   support   rclone   about
23201       (https://rclone.org/overview/#optional-features)   See   rclone   about
23202       (https://rclone.org/commands/rclone_about/)
23203

Google Drive

23205       Paths are specified as drive:path
23206
23207       Drive paths may be as deep as required, e.g.  drive:directory/subdirec‐
23208       tory.
23209
23210   Configuration
23211       The  initial setup for drive involves getting a token from Google drive
23212       which you need to do in your browser.  rclone config walks you  through
23213       it.
23214
23215       Here is an example of how to make a remote called remote.  First run:
23216
23217               rclone config
23218
23219       This will guide you through an interactive setup process:
23220
23221              No remotes found - make a new one
23222              n) New remote
23223              r) Rename remote
23224              c) Copy remote
23225              s) Set configuration password
23226              q) Quit config
23227              n/r/c/s/q> n
23228              name> remote
23229              Type of storage to configure.
23230              Choose a number from below, or type in your own value
23231              [snip]
23232              XX / Google Drive
23233                 \ "drive"
23234              [snip]
23235              Storage> drive
23236              Google Application Client Id - leave blank normally.
23237              client_id>
23238              Google Application Client Secret - leave blank normally.
23239              client_secret>
23240              Scope that rclone should use when requesting access from drive.
23241              Choose a number from below, or type in your own value
23242               1 / Full access all files, excluding Application Data Folder.
23243                 \ "drive"
23244               2 / Read-only access to file metadata and file contents.
23245                 \ "drive.readonly"
23246                 / Access to files created by rclone only.
23247               3 | These are visible in the drive website.
23248                 | File authorization is revoked when the user deauthorizes the app.
23249                 \ "drive.file"
23250                 / Allows read and write access to the Application Data folder.
23251               4 | This is not visible in the drive website.
23252                 \ "drive.appfolder"
23253                 / Allows read-only access to file metadata but
23254               5 | does not allow any access to read or download file content.
23255                 \ "drive.metadata.readonly"
23256              scope> 1
23257              ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
23258              root_folder_id>
23259              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
23260              service_account_file>
23261              Remote config
23262              Use auto config?
23263               * Say Y if not sure
23264               * Say N if you are working on a remote or headless machine or Y didn't work
23265              y) Yes
23266              n) No
23267              y/n> y
23268              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
23269              Log in and authorize rclone for access
23270              Waiting for code...
23271              Got code
23272              Configure this as a Shared Drive (Team Drive)?
23273              y) Yes
23274              n) No
23275              y/n> n
23276              --------------------
23277              [remote]
23278              client_id =
23279              client_secret =
23280              scope = drive
23281              root_folder_id =
23282              service_account_file =
23283              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
23284              --------------------
23285              y) Yes this is OK
23286              e) Edit this remote
23287              d) Delete this remote
23288              y/e/d> y
23289
23290       Note  that rclone runs a webserver on your local machine to collect the
23291       token as returned from Google if you use auto config mode.   This  only
23292       runs  from  the moment it opens your browser to the moment you get back
23293       the verification code.  This is on http://127.0.0.1:53682/ and this  it
23294       may  require  you  to  unblock it temporarily if you are running a host
23295       firewall, or use manual mode.
23296
23297       You can then use it like this,
23298
23299       List directories in top level of your drive
23300
23301              rclone lsd remote:
23302
23303       List all the files in your drive
23304
23305              rclone ls remote:
23306
23307       To copy a local directory to a drive directory called backup
23308
23309              rclone copy /home/source remote:backup
23310
23311   Scopes
23312       Rclone allows you to select which scope you would like  for  rclone  to
23313       use.  This changes what type of token is granted to rclone.  The scopes
23314       are  defined  here   (https://developers.google.com/drive/v3/web/about-
23315       auth).
23316
23317       The scope are
23318
23319   drive
23320       This  is  the default scope and allows full access to all files, except
23321       for the Application Data Folder (see below).
23322
23323       Choose this one if you aren't sure.
23324
23325   drive.readonly
23326       This allows read only access to all files.  Files  may  be  listed  and
23327       downloaded but not uploaded, renamed or deleted.
23328
23329   drive.file
23330       With  this scope rclone can read/view/modify only those files and fold‐
23331       ers it creates.
23332
23333       So if you uploaded files to drive via the web interface (or  any  other
23334       means) they will not be visible to rclone.
23335
23336       This  can be useful if you are using rclone to backup data and you want
23337       to be sure confidential data on your drive is not visible to rclone.
23338
23339       Files created with this scope are visible in the web interface.
23340
23341   drive.appfolder
23342       This gives rclone its own private area to store files.  Rclone will not
23343       be  able  to see any other files on your drive and you won't be able to
23344       see rclone's files from the web interface either.
23345
23346   drive.metadata.readonly
23347       This allows read only access to file names only.   It  does  not  allow
23348       rclone  to download or upload data, or rename or delete files or direc‐
23349       tories.
23350
23351   Root folder ID
23352       You can set the root_folder_id  for  rclone.   This  is  the  directory
23353       (identified  by  its Folder ID) that rclone considers to be the root of
23354       your drive.
23355
23356       Normally you will leave this blank and rclone will determine  the  cor‐
23357       rect root to use itself.
23358
23359       However  you can set this to restrict rclone to a specific folder hier‐
23360       archy or to access data within the "Computers" tab on the drive web in‐
23361       terface (where files from Google's Backup and Sync desktop program go).
23362
23363       In order to do this you will have to find the Folder ID of the directo‐
23364       ry you wish rclone to display.  This will be the last  segment  of  the
23365       URL when you open the relevant folder in the drive web interface.
23366
23367       So  if  the  folder  you  want rclone to use has a URL which looks like
23368       https://drive.google.com/drive/fold
23369       ers/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh  in  the  browser,  then  you use
23370       1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the root_folder_id in the config.
23371
23372       NB folders under the "Computers" tab seem to be read only (drive  gives
23373       a 500 error) when using rclone.
23374
23375       There  doesn't  appear  to  be an API to discover the folder IDs of the
23376       "Computers" tab - please contact us if you know otherwise!
23377
23378       Note also that rclone can't access any data under the "Backups" tab  on
23379       the google drive web interface yet.
23380
23381   Service Account support
23382       You  can  set  up  rclone with Google Drive in an unattended mode, i.e.
23383       not tied to a specific end-user Google account.  This  is  useful  when
23384       you  want  to  synchronise files onto machines that don't have actively
23385       logged-in users, for example build machines.
23386
23387       To use a Service Account instead of OAuth2 token flow, enter  the  path
23388       to  your Service Account credentials at the service_account_file prompt
23389       during rclone config and rclone won't use the browser based authentica‐
23390       tion  flow.  If you'd rather stuff the contents of the credentials file
23391       into the rclone config file, you  can  set  service_account_credentials
23392       with the actual contents of the file instead, or set the equivalent en‐
23393       vironment variable.
23394
23395   Use case - Google Apps/G-suite account and individual Drive
23396       Let's say that you are the administrator of  a  Google  Apps  (old)  or
23397       G-suite  account.   The  goal is to store data on an individual's Drive
23398       account, who IS a member of the domain.  We'll call  the  domain  exam‐
23399       ple.com, and the user foo@example.com.
23400
23401       There's a few steps we need to go through to accomplish this:
23402
23403   1. Create a service account for example.com
23404       • To  create  a  service  account and obtain its credentials, go to the
23405         Google Developer Console (https://console.developers.google.com).
23406
23407       • You must have a project - create one if you don't.
23408
23409       • Then go to "IAM & admin" -> "Service Accounts".
23410
23411       • Use the "Create Credentials" button.  Fill in "Service account  name"
23412         with something that identifies your client.  "Role" can be empty.
23413
23414       • Tick "Furnish a new private key" - select "Key type JSON".
23415
23416       • Tick "Enable G Suite Domain-wide Delegation".  This option makes "im‐
23417         personation" possible, as documented here: Delegating domain-wide au‐
23418         thority to the service account (https://developers.google.com/identi
23419         ty/protocols/OAuth2ServiceAccount#delegatingauthority)
23420
23421       • These credentials are what rclone will use  for  authentication.   If
23422         you  ever  need  to  remove access, press the "Delete service account
23423         key" button.
23424
23425   2. Allowing API access to example.com Google Drive
23426       • Go to example.com's admin console
23427
23428       • Go into "Security" (or use the search bar)
23429
23430       • Select "Show more" and then "Advanced settings"
23431
23432       • Select "Manage API client access" in the "Authentication" section
23433
23434       • In the "Client Name" field enter the service account's "Client ID"  -
23435         this  can  be  found  in the Developer Console under "IAM & Admin" ->
23436         "Service Accounts", then "View Client ID" for the newly created  ser‐
23437         vice account.  It is a ~21 character numerical string.
23438
23439       • In    the   next   field,   "One   or   More   API   Scopes",   enter
23440         https://www.googleapis.com/auth/drive to grant access to Google Drive
23441         specifically.
23442
23443   3. Configure rclone, assuming a new install
23444              rclone config
23445
23446              n/s/q> n         # New
23447              name>gdrive      # Gdrive is an example name
23448              Storage>         # Select the number shown for Google Drive
23449              client_id>       # Can be left blank
23450              client_secret>   # Can be left blank
23451              scope>           # Select your scope, 1 for example
23452              root_folder_id>  # Can be left blank
23453              service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
23454              y/n>             # Auto config, n
23455
23456   4. Verify that it's working
23457       • rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
23458
23459       • The arguments do:
23460
23461         • -v - verbose logging
23462
23463         • --drive-impersonate  foo@example.com - this is what does the magic,
23464           pretending to be user foo.
23465
23466         • lsf - list files in a parsing friendly way
23467
23468         • gdrive:backup - use the remote called gdrive, work  in  the  folder
23469           named backup.
23470
23471       Note:  in  case  you  configured  a  specific root folder on gdrive and
23472       rclone is unable to access the  contents  of  that  folder  when  using
23473       --drive-impersonate,  do  this  instead: - in the gdrive web interface,
23474       share your root folder with the user/email of the new  Service  Account
23475       you  created/selected  at  step  #1 - use rclone without specifying the
23476       --drive-impersonate option, like this: rclone -v lsf gdrive:backup
23477
23478   Shared drives (team drives)
23479       If you want to configure the remote to point to a Google  Shared  Drive
23480       (previously known as Team Drives) then answer y to the question Config‐
23481       ure this as a Shared Drive (Team Drive)?.
23482
23483       This will fetch the list of Shared Drives from google and allow you  to
23484       configure  which  one  you  want to use.  You can also type in a Shared
23485       Drive ID if you prefer.
23486
23487       For example:
23488
23489              Configure this as a Shared Drive (Team Drive)?
23490              y) Yes
23491              n) No
23492              y/n> y
23493              Fetching Shared Drive list...
23494              Choose a number from below, or type in your own value
23495               1 / Rclone Test
23496                 \ "xxxxxxxxxxxxxxxxxxxx"
23497               2 / Rclone Test 2
23498                 \ "yyyyyyyyyyyyyyyyyyyy"
23499               3 / Rclone Test 3
23500                 \ "zzzzzzzzzzzzzzzzzzzz"
23501              Enter a Shared Drive ID> 1
23502              --------------------
23503              [remote]
23504              client_id =
23505              client_secret =
23506              token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
23507              team_drive = xxxxxxxxxxxxxxxxxxxx
23508              --------------------
23509              y) Yes this is OK
23510              e) Edit this remote
23511              d) Delete this remote
23512              y/e/d> y
23513
23514   --fast-list
23515       This remote supports --fast-list which allows you to use fewer transac‐
23516       tions   in   exchange   for   more   memory.    See   the  rclone  docs
23517       (https://rclone.org/docs/#fast-list) for more details.
23518
23519       It does this by combining multiple list calls into  a  single  API  re‐
23520       quest.
23521
23522       This  works  by combining many '%s' in parents filters into one expres‐
23523       sion.  To list the contents of directories a, b and  c,  the  following
23524       requests will be send by the regular List function:
23525
23526              trashed=false and 'a' in parents
23527              trashed=false and 'b' in parents
23528              trashed=false and 'c' in parents
23529
23530       These can now be combined into a single request:
23531
23532              trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
23533
23534       The  implementation of ListR will put up to 50 parents filters into one
23535       request.  It will use the --checkers value to specify the number of re‐
23536       quests to run in parallel.
23537
23538       In  tests,  these batch requests were up to 20x faster than the regular
23539       method.  Running the following command against different sized  folders
23540       gives:
23541
23542              rclone lsjson -vv -R --checkers=6 gdrive:folder
23543
23544       small folder (220 directories, 700 files):
23545
23546       • without --fast-list: 38s
23547
23548       • with --fast-list: 10s
23549
23550       large folder (10600 directories, 39000 files):
23551
23552       • without --fast-list: 22:05 min
23553
23554       • with --fast-list: 58s
23555
23556   Modified time
23557       Google drive stores modification times accurate to 1 ms.
23558
23559   Restricted filename characters
23560       Only  Invalid  UTF-8  bytes  will be replaced (https://rclone.org/over
23561       view/#invalid-utf8), as they can't be used in JSON strings.
23562
23563       In contrast to other backends, / can also be used in names and . or  ..
23564       are valid names.
23565
23566   Revisions
23567       Google drive stores revisions of files.  When you upload a change to an
23568       existing file to google drive using rclone it will create a  new  revi‐
23569       sion of that file.
23570
23571       Revisions  follow  the  standard google policy which at time of writing
23572       was
23573
23574       • They are deleted after 30  days  or  100  revisions  (whatever  comes
23575         first).
23576
23577       • They do not count towards a user storage quota.
23578
23579   Deleting files
23580       By default rclone will send all files to the trash when deleting files.
23581       If   deleting   them   permanently   is   required   then    use    the
23582       --drive-use-trash=false  flag,  or set the equivalent environment vari‐
23583       able.
23584
23585   Shortcuts
23586       In March 2020 Google introduced a new feature in  Google  Drive  called
23587       drive  shortcuts (https://support.google.com/drive/answer/9700156) (API
23588       (https://developers.google.com/drive/api/v3/shortcuts)).   These   will
23589       (by  September  2020) replace the ability for files or folders to be in
23590       multiple  folders  at  once  (https://cloud.google.com/blog/products/g-
23591       suite/simplifying-google-drives-folder-structure-and-sharing-models).
23592
23593       Shortcuts  are  files that link to other files on Google Drive somewhat
23594       like a symlink in unix, except they point to the underlying  file  data
23595       (e.g.   the  inode  in unix terms) so they don't break if the source is
23596       renamed or moved about.
23597
23598       Be default rclone treats these as follows.
23599
23600       For shortcuts pointing to files:
23601
23602       • When listing a file shortcut appears as the destination file.
23603
23604       • When downloading the contents of the destination file is downloaded.
23605
23606       • When updating shortcut file with a non shortcut file, the shortcut is
23607         removed then a new file is uploaded in place of the shortcut.
23608
23609       • When  server-side  moving (renaming) the shortcut is renamed, not the
23610         destination file.
23611
23612       • When server-side copying the shortcut is copied, not the contents  of
23613         the shortcut.
23614
23615       • When deleting the shortcut is deleted not the linked file.
23616
23617       • When  setting  the  modification  time,  the modification time of the
23618         linked file will be set.
23619
23620       For shortcuts pointing to folders:
23621
23622       • When listing the shortcut appears as a folder and  that  folder  will
23623         contain  the  contents of the linked folder appear (including any sub
23624         folders)
23625
23626       • When downloading the contents of the linked folder and  sub  contents
23627         are downloaded
23628
23629       • When  uploading  to  a shortcut folder the file will be placed in the
23630         linked folder
23631
23632       • When server-side moving (renaming) the shortcut is renamed,  not  the
23633         destination folder
23634
23635       • When server-side copying the contents of the linked folder is copied,
23636         not the shortcut.
23637
23638       • When deleting with rclone rmdir  or  rclone  purge  the  shortcut  is
23639         deleted not the linked folder.
23640
23641NB  When  deleting with rclone remove or rclone mount the contents of
23642         the linked folder will be deleted.
23643
23644       The rclone backend  (https://rclone.org/commands/rclone_backend/)  com‐
23645       mand can be used to create shortcuts.
23646
23647       Shortcuts  can  be  completely  ignored with the --drive-skip-shortcuts
23648       flag or the corresponding skip_shortcuts configuration setting.
23649
23650   Emptying trash
23651       If you wish to empty your trash you can use the rclone cleanup  remote:
23652       command  which  will  permanently  delete all your trashed files.  This
23653       command does not take any path arguments.
23654
23655       Note that Google Drive takes some time (minutes to days) to  empty  the
23656       trash  even though the command returns within a few seconds.  No output
23657       is echoed, so there will be no confirmation even using -v or -vv.
23658
23659   Quota information
23660       To view your current quota you can use the rclone about remote: command
23661       which will display your usage limit (quota), the usage in Google Drive,
23662       the size of all files in the Trash and the space used by  other  Google
23663       services such as Gmail.  This command does not take any path arguments.
23664
23665   Import/Export of google documents
23666       Google documents can be exported from and uploaded to Google Drive.
23667
23668       When  rclone downloads a Google doc it chooses a format to download de‐
23669       pending upon the --drive-export-formats setting.  By default the export
23670       formats  are docx,xlsx,pptx,svg which are a sensible default for an ed‐
23671       itable document.
23672
23673       When choosing a format, rclone runs down the list provided in order and
23674       chooses the first file format the doc can be exported as from the list.
23675       If the file can't be exported to a format on  the  formats  list,  then
23676       rclone will choose a format from the default list.
23677
23678       If you prefer an archive copy then you might use --drive-export-formats
23679       pdf, or if you prefer  openoffice/libreoffice  formats  you  might  use
23680       --drive-export-formats ods,odt,odp.
23681
23682       Note  that  rclone  adds  the  extension to the google doc, so if it is
23683       called My Spreadsheet on google docs, it will be exported as My Spread‐
23684       sheet.xlsx or My Spreadsheet.pdf etc.
23685
23686       When  importing  files into Google Drive, rclone will convert all files
23687       with an extension in --drive-import-formats to their  associated  docu‐
23688       ment  type.   rclone  will  not convert any files by default, since the
23689       conversion is lossy process.
23690
23691       The conversion must result in a file with the same extension  when  the
23692       --drive-export-formats rules are applied to the uploaded document.
23693
23694       Here are some examples for allowed and prohibited conversions.
23695
23696       export-for‐   import-for‐   Upload Ext   Document Ext   Allowed
23697       mats          mats
23698       ────────────────────────────────────────────────────────────────
23699       odt           odt           odt          odt            Yes
23700       odt           docx,odt      odt          odt            Yes
23701                     docx          docx         docx           Yes
23702                     odt           odt          docx           No
23703       odt,docx      docx,odt      docx         odt            No
23704       docx,odt      docx,odt      docx         docx           Yes
23705       docx,odt      docx,odt      odt          docx           No
23706
23707       This   limitation  can  be  disabled  by  specifying  --drive-allow-im‐
23708       port-name-change.  When using this flag, rclone  can  convert  multiple
23709       files  types  resulting  in  the same document type at once, e.g.  with
23710       --drive-import-formats docx,odt,txt, all files having  these  extension
23711       would result in a document represented as a docx file.  This brings the
23712       additional risk of overwriting a document, if multiple files  have  the
23713       same  stem.  Many rclone operations will not handle this name change in
23714       any way.  They assume an equal name when copying files and  might  copy
23715       the file again or delete them when the name changes.
23716
23717       Here  are  the possible export extensions with their corresponding mime
23718       types.  Most of these can also be used for importing,  but  there  more
23719       that  are not listed here.  Some of these additional ones might only be
23720       available when the operating system provides the correct MIME type  en‐
23721       tries.
23722
23723       This list can be changed by Google Drive at any time and might not rep‐
23724       resent the currently available conversions.
23725
23726       Extension              Mime Type                          Description
23727       ─────────────────────────────────────────────────────────────────────────────────────
23728       csv                    text/csv                           Standard  CSV  format  for
23729                                                                 Spreadsheets
23730       docx                   application/vnd.openxml‐           Microsoft Office Document
23731                              formats-officedocu‐
23732                              ment.wordprocess‐
23733                              ingml.document
23734       epub                   application/epub+zip               E-book format
23735       html                   text/html                          An HTML Document
23736       jpg                    image/jpeg                         A JPEG Image File
23737       json                   applica‐                           JSON Text Format
23738                              tion/vnd.google-apps.script+json
23739       odp                    application/vnd.oasis.opendocu‐    Openoffice Presentation
23740                              ment.presentation
23741       ods                    application/vnd.oasis.opendocu‐    Openoffice Spreadsheet
23742                              ment.spreadsheet
23743       ods                    application/x-vnd.oasis.opendoc‐   Openoffice Spreadsheet
23744                              ument.spreadsheet
23745       odt                    application/vnd.oasis.opendocu‐    Openoffice Document
23746                              ment.text
23747       pdf                    application/pdf                    Adobe PDF Format
23748       png                    image/png                          PNG Image Format
23749       pptx                   application/vnd.openxmlfor‐        Microsoft  Office   Power‐
23750                              mats-officedocument.presenta‐      point
23751                              tionml.presentation
23752       rtf                    application/rtf                    Rich Text Format
23753       svg                    image/svg+xml                      Scalable  Vector  Graphics
23754                                                                 Format
23755       tsv                    text/tab-separated-values          Standard  TSV  format  for
23756                                                                 spreadsheets
23757       txt                    text/plain                         Plain Text
23758       xlsx                   application/vnd.openxmlfor‐        Microsoft  Office  Spread‐
23759                              mats-officedocument.spread‐        sheet
23760                              sheetml.sheet
23761       zip                    application/zip                    A ZIP file of HTML, Images
23762                                                                 CSS
23763
23764       Google  documents can also be exported as link files.  These files will
23765       open a browser window for the Google Docs website of that document when
23766       opened.   The  link file extension has to be specified as a --drive-ex‐
23767       port-formats parameter.  They will match  all  available  Google  Docu‐
23768       ments.
23769
23770       Extension   Description           OS Support
23771       ─────────────────────────────────────────────────
23772       desktop     freedesktop.org       Linux
23773                   specified   desktop
23774                   entry
23775       link.html   An   HTML  Document   All
23776                   with a redirect
23777       url         INI style link file   macOS, Windows
23778       webloc      macOS specific  XML   macOS
23779                   format
23780
23781   Standard options
23782       Here are the standard options specific to drive (Google Drive).
23783
23784   --drive-client-id
23785       Google  Application  Client  Id  Setting  your own is recommended.  See
23786       https://rclone.org/drive/#making-your-own-client-id for how  to  create
23787       your  own.   If you leave this blank, it will use an internal key which
23788       is low performance.
23789
23790       • Config: client_id
23791
23792       • Env Var: RCLONE_DRIVE_CLIENT_ID
23793
23794       • Type: string
23795
23796       • Default: ""
23797
23798   --drive-client-secret
23799       OAuth Client Secret.
23800
23801       Leave blank normally.
23802
23803       • Config: client_secret
23804
23805       • Env Var: RCLONE_DRIVE_CLIENT_SECRET
23806
23807       • Type: string
23808
23809       • Default: ""
23810
23811   --drive-scope
23812       Scope that rclone should use when requesting access from drive.
23813
23814       • Config: scope
23815
23816       • Env Var: RCLONE_DRIVE_SCOPE
23817
23818       • Type: string
23819
23820       • Default: ""
23821
23822       • Examples:
23823
23824         • "drive"
23825
23826           • Full access all files, excluding Application Data Folder.
23827
23828         • "drive.readonly"
23829
23830           • Read-only access to file metadata and file contents.
23831
23832         • "drive.file"
23833
23834           • Access to files created by rclone only.
23835
23836           • These are visible in the drive website.
23837
23838           • File authorization is revoked when the user deauthorizes the app.
23839
23840         • "drive.appfolder"
23841
23842           • Allows read and write access to the Application Data folder.
23843
23844           • This is not visible in the drive website.
23845
23846         • "drive.metadata.readonly"
23847
23848           • Allows read-only access to file metadata but
23849
23850           • does not allow any access to read or download file content.
23851
23852   --drive-root-folder-id
23853       ID of the root folder.  Leave blank normally.
23854
23855       Fill in to access "Computers" folders (see docs), or for rclone to  use
23856       a non root folder as its starting point.
23857
23858       • Config: root_folder_id
23859
23860       • Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
23861
23862       • Type: string
23863
23864       • Default: ""
23865
23866   --drive-service-account-file
23867       Service Account Credentials JSON file path.
23868
23869       Leave blank normally.  Needed only if you want use SA instead of inter‐
23870       active login.
23871
23872       Leading ~ will be expanded in the file name as will  environment  vari‐
23873       ables such as ${RCLONE_CONFIG_DIR}.
23874
23875       • Config: service_account_file
23876
23877       • Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
23878
23879       • Type: string
23880
23881       • Default: ""
23882
23883   --drive-alternate-export
23884       Deprecated: No longer needed.
23885
23886       • Config: alternate_export
23887
23888       • Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
23889
23890       • Type: bool
23891
23892       • Default: false
23893
23894   Advanced options
23895       Here are the advanced options specific to drive (Google Drive).
23896
23897   --drive-token
23898       OAuth Access Token as a JSON blob.
23899
23900       • Config: token
23901
23902       • Env Var: RCLONE_DRIVE_TOKEN
23903
23904       • Type: string
23905
23906       • Default: ""
23907
23908   --drive-auth-url
23909       Auth server URL.
23910
23911       Leave blank to use the provider defaults.
23912
23913       • Config: auth_url
23914
23915       • Env Var: RCLONE_DRIVE_AUTH_URL
23916
23917       • Type: string
23918
23919       • Default: ""
23920
23921   --drive-token-url
23922       Token server url.
23923
23924       Leave blank to use the provider defaults.
23925
23926       • Config: token_url
23927
23928       • Env Var: RCLONE_DRIVE_TOKEN_URL
23929
23930       • Type: string
23931
23932       • Default: ""
23933
23934   --drive-service-account-credentials
23935       Service Account Credentials JSON blob.
23936
23937       Leave blank normally.  Needed only if you want use SA instead of inter‐
23938       active login.
23939
23940       • Config: service_account_credentials
23941
23942       • Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
23943
23944       • Type: string
23945
23946       • Default: ""
23947
23948   --drive-team-drive
23949       ID of the Shared Drive (Team Drive).
23950
23951       • Config: team_drive
23952
23953       • Env Var: RCLONE_DRIVE_TEAM_DRIVE
23954
23955       • Type: string
23956
23957       • Default: ""
23958
23959   --drive-auth-owner-only
23960       Only consider files owned by the authenticated user.
23961
23962       • Config: auth_owner_only
23963
23964       • Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
23965
23966       • Type: bool
23967
23968       • Default: false
23969
23970   --drive-use-trash
23971       Send files to the trash instead of deleting permanently.
23972
23973       Defaults  to  true,  namely  sending   files   to   the   trash.    Use
23974       --drive-use-trash=false to delete files permanently instead.
23975
23976       • Config: use_trash
23977
23978       • Env Var: RCLONE_DRIVE_USE_TRASH
23979
23980       • Type: bool
23981
23982       • Default: true
23983
23984   --drive-skip-gdocs
23985       Skip google documents in all listings.
23986
23987       If given, gdocs practically become invisible to rclone.
23988
23989       • Config: skip_gdocs
23990
23991       • Env Var: RCLONE_DRIVE_SKIP_GDOCS
23992
23993       • Type: bool
23994
23995       • Default: false
23996
23997   --drive-skip-checksum-gphotos
23998       Skip MD5 checksum on Google photos and videos only.
23999
24000       Use  this if you get checksum errors when transferring Google photos or
24001       videos.
24002
24003       Setting this flag will cause Google photos and videos to return a blank
24004       MD5 checksum.
24005
24006       Google photos are identified by being in the "photos" space.
24007
24008       Corrupted  checksums are caused by Google modifying the image/video but
24009       not updating the checksum.
24010
24011       • Config: skip_checksum_gphotos
24012
24013       • Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
24014
24015       • Type: bool
24016
24017       • Default: false
24018
24019   --drive-shared-with-me
24020       Only show files that are shared with me.
24021
24022       Instructs rclone to operate on your  "Shared  with  me"  folder  (where
24023       Google  Drive  lets you access the files and folders others have shared
24024       with you).
24025
24026       This works both with the "list" (lsd, lsl, etc.) and  the  "copy"  com‐
24027       mands (copy, sync, etc.), and with all other commands too.
24028
24029       • Config: shared_with_me
24030
24031       • Env Var: RCLONE_DRIVE_SHARED_WITH_ME
24032
24033       • Type: bool
24034
24035       • Default: false
24036
24037   --drive-trashed-only
24038       Only show files that are in the trash.
24039
24040       This will show trashed files in their original directory structure.
24041
24042       • Config: trashed_only
24043
24044       • Env Var: RCLONE_DRIVE_TRASHED_ONLY
24045
24046       • Type: bool
24047
24048       • Default: false
24049
24050   --drive-starred-only
24051       Only show files that are starred.
24052
24053       • Config: starred_only
24054
24055       • Env Var: RCLONE_DRIVE_STARRED_ONLY
24056
24057       • Type: bool
24058
24059       • Default: false
24060
24061   --drive-formats
24062       Deprecated: See export_formats.
24063
24064       • Config: formats
24065
24066       • Env Var: RCLONE_DRIVE_FORMATS
24067
24068       • Type: string
24069
24070       • Default: ""
24071
24072   --drive-export-formats
24073       Comma separated list of preferred formats for downloading Google docs.
24074
24075       • Config: export_formats
24076
24077       • Env Var: RCLONE_DRIVE_EXPORT_FORMATS
24078
24079       • Type: string
24080
24081       • Default: "docx,xlsx,pptx,svg"
24082
24083   --drive-import-formats
24084       Comma separated list of preferred formats for uploading Google docs.
24085
24086       • Config: import_formats
24087
24088       • Env Var: RCLONE_DRIVE_IMPORT_FORMATS
24089
24090       • Type: string
24091
24092       • Default: ""
24093
24094   --drive-allow-import-name-change
24095       Allow the filetype to change when uploading Google docs.
24096
24097       E.g.  file.doc to file.docx.  This will confuse sync and reupload every
24098       time.
24099
24100       • Config: allow_import_name_change
24101
24102       • Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
24103
24104       • Type: bool
24105
24106       • Default: false
24107
24108   --drive-use-created-date
24109       Use file created date instead of modified date.
24110
24111       Useful when downloading data and you want the  creation  date  used  in
24112       place of the last modified date.
24113
24114       WARNING: This flag may have some unexpected consequences.
24115
24116       When  uploading to your drive all files will be overwritten unless they
24117       haven't been modified since their creation.  And the inverse will occur
24118       while  downloading.   This  side  effect  can  be  avoided by using the
24119       "--checksum" flag.
24120
24121       This feature was implemented to retain photos capture date as  recorded
24122       by  google  photos.   You will first need to check the "Create a Google
24123       Photos folder" option in your google drive settings.  You can then copy
24124       or move the photos locally and use the date the image was taken (creat‐
24125       ed) set as the modification date.
24126
24127       • Config: use_created_date
24128
24129       • Env Var: RCLONE_DRIVE_USE_CREATED_DATE
24130
24131       • Type: bool
24132
24133       • Default: false
24134
24135   --drive-use-shared-date
24136       Use date file was shared instead of modified date.
24137
24138       Note that, as with "--drive-use-created-date", this flag may have unex‐
24139       pected consequences when uploading/downloading files.
24140
24141       If  both  this flag and "--drive-use-created-date" are set, the created
24142       date is used.
24143
24144       • Config: use_shared_date
24145
24146       • Env Var: RCLONE_DRIVE_USE_SHARED_DATE
24147
24148       • Type: bool
24149
24150       • Default: false
24151
24152   --drive-list-chunk
24153       Size of listing chunk 100-1000, 0 to disable.
24154
24155       • Config: list_chunk
24156
24157       • Env Var: RCLONE_DRIVE_LIST_CHUNK
24158
24159       • Type: int
24160
24161       • Default: 1000
24162
24163   --drive-impersonate
24164       Impersonate this user when using a service account.
24165
24166       • Config: impersonate
24167
24168       • Env Var: RCLONE_DRIVE_IMPERSONATE
24169
24170       • Type: string
24171
24172       • Default: ""
24173
24174   --drive-upload-cutoff
24175       Cutoff for switching to chunked upload.
24176
24177       • Config: upload_cutoff
24178
24179       • Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
24180
24181       • Type: SizeSuffix
24182
24183       • Default: 8Mi
24184
24185   --drive-chunk-size
24186       Upload chunk size.
24187
24188       Must a power of 2 >= 256k.
24189
24190       Making this larger will improve performance, but note that  each  chunk
24191       is buffered in memory one per transfer.
24192
24193       Reducing this will reduce memory usage but decrease performance.
24194
24195       • Config: chunk_size
24196
24197       • Env Var: RCLONE_DRIVE_CHUNK_SIZE
24198
24199       • Type: SizeSuffix
24200
24201       • Default: 8Mi
24202
24203   --drive-acknowledge-abuse
24204       Set  to  allow files which return cannotDownloadAbusiveFile to be down‐
24205       loaded.
24206
24207       If downloading a file returns the error "This file has been  identified
24208       as  malware or spam and cannot be downloaded" with the error code "can‐
24209       notDownloadAbusiveFile" then supply this flag to rclone to indicate you
24210       acknowledge  the risks of downloading the file and rclone will download
24211       it anyway.
24212
24213       • Config: acknowledge_abuse
24214
24215       • Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
24216
24217       • Type: bool
24218
24219       • Default: false
24220
24221   --drive-keep-revision-forever
24222       Keep new head revision of each file forever.
24223
24224       • Config: keep_revision_forever
24225
24226       • Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
24227
24228       • Type: bool
24229
24230       • Default: false
24231
24232   --drive-size-as-quota
24233       Show sizes as storage quota usage, not actual size.
24234
24235       Show the size of a file as the storage quota used.  This is the current
24236       version plus any older versions that have been set to keep forever.
24237
24238       WARNING: This flag may have some unexpected consequences.
24239
24240       It is not recommended to set this flag in your config - the recommended
24241       usage is using the flag form --drive-size-as-quota  when  doing  rclone
24242       ls/lsl/lsf/lsjson/etc only.
24243
24244       If  you  do  use  this flag for syncing (not recommended) then you will
24245       need to use --ignore size also.
24246
24247       • Config: size_as_quota
24248
24249       • Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
24250
24251       • Type: bool
24252
24253       • Default: false
24254
24255   --drive-v2-download-min-size
24256       If Object's are greater, use drive v2 API to download.
24257
24258       • Config: v2_download_min_size
24259
24260       • Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
24261
24262       • Type: SizeSuffix
24263
24264       • Default: off
24265
24266   --drive-pacer-min-sleep
24267       Minimum time to sleep between API calls.
24268
24269       • Config: pacer_min_sleep
24270
24271       • Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
24272
24273       • Type: Duration
24274
24275       • Default: 100ms
24276
24277   --drive-pacer-burst
24278       Number of API calls to allow without sleeping.
24279
24280       • Config: pacer_burst
24281
24282       • Env Var: RCLONE_DRIVE_PACER_BURST
24283
24284       • Type: int
24285
24286       • Default: 100
24287
24288   --drive-server-side-across-configs
24289       Allow server-side operations (e.g.   copy)  to  work  across  different
24290       drive configs.
24291
24292       This  can  be  useful  if you wish to do a server-side copy between two
24293       different Google drives.  Note that this isn't enabled by  default  be‐
24294       cause  it isn't easy to tell if it will work between any two configura‐
24295       tions.
24296
24297       • Config: server_side_across_configs
24298
24299       • Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
24300
24301       • Type: bool
24302
24303       • Default: false
24304
24305   --drive-disable-http2
24306       Disable drive using http2.
24307
24308       There is currently an unsolved issue with the google drive backend  and
24309       HTTP/2.   HTTP/2 is therefore disabled by default for the drive backend
24310       but can be re-enabled here.  When the issue is solved this flag will be
24311       removed.
24312
24313       See: https://github.com/rclone/rclone/issues/3631
24314
24315       • Config: disable_http2
24316
24317       • Env Var: RCLONE_DRIVE_DISABLE_HTTP2
24318
24319       • Type: bool
24320
24321       • Default: true
24322
24323   --drive-stop-on-upload-limit
24324       Make upload limit errors be fatal.
24325
24326       At the time of writing it is only possible to upload 750 GiB of data to
24327       Google Drive a day (this is an undocumented limit).  When this limit is
24328       reached Google Drive produces a slightly different error message.  When
24329       this flag is set it causes these errors to be fatal.  These  will  stop
24330       the in-progress sync.
24331
24332       Note  that  this  detection  is  relying on error message strings which
24333       Google don't document so it may break in the future.
24334
24335       See: https://github.com/rclone/rclone/issues/3857
24336
24337       • Config: stop_on_upload_limit
24338
24339       • Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
24340
24341       • Type: bool
24342
24343       • Default: false
24344
24345   --drive-stop-on-download-limit
24346       Make download limit errors be fatal.
24347
24348       At the time of writing it is only possible to download 10 TiB  of  data
24349       from  Google  Drive  a  day (this is an undocumented limit).  When this
24350       limit is reached Google Drive produces a slightly different error  mes‐
24351       sage.  When this flag is set it causes these errors to be fatal.  These
24352       will stop the in-progress sync.
24353
24354       Note that this detection is relying  on  error  message  strings  which
24355       Google don't document so it may break in the future.
24356
24357       • Config: stop_on_download_limit
24358
24359       • Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
24360
24361       • Type: bool
24362
24363       • Default: false
24364
24365   --drive-skip-shortcuts
24366       If set skip shortcut files.
24367
24368       Normally  rclone  dereferences  shortcut files making them appear as if
24369       they are the original file (see the shortcuts section).  If  this  flag
24370       is set then rclone will ignore shortcut files completely.
24371
24372       • Config: skip_shortcuts
24373
24374       • Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS
24375
24376       • Type: bool
24377
24378       • Default: false
24379
24380   --drive-encoding
24381       This sets the encoding for the backend.
24382
24383       See  the  encoding  section  in  the overview (https://rclone.org/over
24384       view/#encoding) for more info.
24385
24386       • Config: encoding
24387
24388       • Env Var: RCLONE_DRIVE_ENCODING
24389
24390       • Type: MultiEncoder
24391
24392       • Default: InvalidUtf8
24393
24394   Backend commands
24395       Here are the commands specific to the drive backend.
24396
24397       Run them with
24398
24399              rclone backend COMMAND remote:
24400
24401       The help below will explain what arguments each command takes.
24402
24403       See   the    "rclone    backend"    command    (https://rclone.org/com
24404       mands/rclone_backend/)  for  more info on how to pass options and argu‐
24405       ments.
24406
24407       These can be run on a running backend using the rc command backend/com‐
24408       mand (https://rclone.org/rc/#backend/command).
24409
24410   get
24411       Get command for fetching the drive config parameters
24412
24413              rclone backend get remote: [options] [<arguments>+]
24414
24415       This  is  a  get  command which will be used to fetch the various drive
24416       config parameters
24417
24418       Usage Examples:
24419
24420              rclone backend get drive: [-o service_account_file] [-o chunk_size]
24421              rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
24422
24423       Options:
24424
24425       • "chunk_size": show the current upload chunk size
24426
24427       • "service_account_file": show the current service account file
24428
24429   set
24430       Set command for updating the drive config parameters
24431
24432              rclone backend set remote: [options] [<arguments>+]
24433
24434       This is a set command which will be used to update  the  various  drive
24435       config parameters
24436
24437       Usage Examples:
24438
24439              rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
24440              rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
24441
24442       Options:
24443
24444       • "chunk_size": update the current upload chunk size
24445
24446       • "service_account_file": update the current service account file
24447
24448   shortcut
24449       Create shortcuts from files or directories
24450
24451              rclone backend shortcut remote: [options] [<arguments>+]
24452
24453       This command creates shortcuts from files or directories.
24454
24455       Usage:
24456
24457              rclone backend shortcut drive: source_item destination_shortcut
24458              rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
24459
24460       In  the  first  example  this creates a shortcut from the "source_item"
24461       which can be a file or a directory to the "destination_shortcut".   The
24462       "source_item"  and  the "destination_shortcut" should be relative paths
24463       from "drive:"
24464
24465       In the second example this creates a shortcut  from  the  "source_item"
24466       relative   to   "drive:"  to  the  "destination_shortcut"  relative  to
24467       "drive2:".  This may fail with a permission error if the user authenti‐
24468       cated with "drive2:" can't read files from "drive:".
24469
24470       Options:
24471
24472       • "target": optional target remote for the shortcut destination
24473
24474   drives
24475       List the Shared Drives available to this account
24476
24477              rclone backend drives remote: [options] [<arguments>+]
24478
24479       This  command  lists  the Shared Drives (Team Drives) available to this
24480       account.
24481
24482       Usage:
24483
24484              rclone backend [-o config] drives drive:
24485
24486       This will return a JSON list of objects like this
24487
24488              [
24489                  {
24490                      "id": "0ABCDEF-01234567890",
24491                      "kind": "drive#teamDrive",
24492                      "name": "My Drive"
24493                  },
24494                  {
24495                      "id": "0ABCDEFabcdefghijkl",
24496                      "kind": "drive#teamDrive",
24497                      "name": "Test Drive"
24498                  }
24499              ]
24500
24501       With the -o config parameter it will output the list in a format  suit‐
24502       able  for  adding  to  a config file to make aliases for all the drives
24503       found.
24504
24505              [My Drive]
24506              type = alias
24507              remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=:
24508
24509              [Test Drive]
24510              type = alias
24511              remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=:
24512
24513       Adding this to the rclone config file will cause those team  drives  to
24514       be  accessible with the aliases shown.  This may require manual editing
24515       of the names.
24516
24517   untrash
24518       Untrash files and directories
24519
24520              rclone backend untrash remote: [options] [<arguments>+]
24521
24522       This command untrashes all the files and directories in  the  directory
24523       passed in recursively.
24524
24525       Usage:
24526
24527       This takes an optional directory to trash which make this easier to use
24528       via the API.
24529
24530              rclone backend untrash drive:directory
24531              rclone backend -i untrash drive:directory subdir
24532
24533       Use the -i flag to see what would be restored before restoring it.
24534
24535       Result:
24536
24537              {
24538                  "Untrashed": 17,
24539                  "Errors": 0
24540              }
24541
24542   copyid
24543       Copy files by ID
24544
24545              rclone backend copyid remote: [options] [<arguments>+]
24546
24547       This command copies files by ID
24548
24549       Usage:
24550
24551              rclone backend copyid drive: ID path
24552              rclone backend copyid drive: ID1 path1 ID2 path2
24553
24554       It copies the drive file with ID given to  the  path  (an  rclone  path
24555       which  will  be  passed  internally to rclone copyto).  The ID and path
24556       pairs can be repeated.
24557
24558       The path should end with a / to indicate copy the file as named to this
24559       directory.   If  it  doesn't  end with a / then the last path component
24560       will be used as the file name.
24561
24562       If the destination is a drive backend then server-side copying will  be
24563       attempted if possible.
24564
24565       Use the -i flag to see what would be copied before copying.
24566
24567   Limitations
24568       Drive  has quite a lot of rate limiting.  This causes rclone to be lim‐
24569       ited to transferring about 2 files per second only.   Individual  files
24570       may be transferred much faster at 100s of MiB/s but lots of small files
24571       can take a long time.
24572
24573       Server side copies are also subject to a separate rate limit.   If  you
24574       see  User rate limit exceeded errors, wait at least 24 hours and retry.
24575       You can disable server-side copies with --disable copy to download  and
24576       upload the files if you prefer.
24577
24578   Limitations of Google Docs
24579       Google  docs  will appear as size -1 in rclone ls and as size 0 in any‐
24580       thing which uses the VFS layer, e.g.  rclone mount, rclone serve.
24581
24582       This is because rclone can't find out the size of the Google docs with‐
24583       out downloading them.
24584
24585       Google  docs  will transfer correctly with rclone sync, rclone copy etc
24586       as rclone knows to ignore the size when doing the transfer.
24587
24588       However an unfortunate consequence of this is that you may not be  able
24589       to  download  Google  docs  using rclone mount.  If it doesn't work you
24590       will get a 0 sized file.  If you try again the doc may gain its correct
24591       size  and  be downloadable.  Whether it will work on not depends on the
24592       application accessing the mount and the OS you are running - experiment
24593       to find out if it does work for you!
24594
24595   Duplicated files
24596       Sometimes,  for  no reason I've been able to track down, drive will du‐
24597       plicate a file that rclone uploads.  Drive unlike all the other remotes
24598       can have duplicated files.
24599
24600       Duplicated  files cause problems with the syncing and you will see mes‐
24601       sages in the log about duplicates.
24602
24603       Use rclone dedupe to fix duplicated files.
24604
24605       Note that this isn't just a problem with rclone, even Google Photos  on
24606       Android duplicates files on drive sometimes.
24607
24608   Rclone appears to be re-copying files it shouldn't
24609       The  most likely cause of this is the duplicated file issue above - run
24610       rclone dedupe and check your logs for  duplicate  object  or  directory
24611       messages.
24612
24613       This  can  also be caused by a delay/caching on google drive's end when
24614       comparing directory listings.  Specifically with team  drives  used  in
24615       combination  with  --fast-list.   Files that were uploaded recently may
24616       not appear on the directory list sent to rclone when using --fast-list.
24617
24618       Waiting a moderate period of time between attempts (estimated to be ap‐
24619       proximately 1 hour) and/or not using --fast-list both seem to be effec‐
24620       tive in preventing the problem.
24621
24622   Making your own client_id
24623       When you use rclone with Google drive in its default configuration  you
24624       are  using  rclone's  client_id.  This is shared between all the rclone
24625       users.  There is a global rate limit on the number of queries per  sec‐
24626       ond  that  each  client_id  can do set by Google.  rclone already has a
24627       high quota and I will continue to make sure it is high enough  by  con‐
24628       tacting Google.
24629
24630       It  is  strongly  recommended  to use your own client ID as the default
24631       rclone ID is heavily used.  If you have multiple services  running,  it
24632       is  recommended to use an API key for each service.  The default Google
24633       quota is 10 transactions per second so it is recommended to stay  under
24634       that  number as if you use more than that, it will cause rclone to rate
24635       limit and make things slower.
24636
24637       Here is how to create your own Google Drive client ID for rclone:
24638
24639       1. Log  into   the   Google   API   Console   (https://console.develop
24640          ers.google.com/)  with  your Google account.  It doesn't matter what
24641          Google account you use.  (It need not be the  same  account  as  the
24642          Google Drive you want to access)
24643
24644       2. Select a project or create a new project.
24645
24646       3. Under  "ENABLE APIS AND SERVICES" search for "Drive", and enable the
24647          "Google Drive API".
24648
24649       4. Click "Credentials" in the  left-side  panel  (not  "Create  creden‐
24650          tials", which opens the wizard), then "Create credentials"
24651
24652       5. If  you  already  configured an "Oauth Consent Screen", then skip to
24653          the next step; if not, click on "CONFIGURE  CONSENT  SCREEN"  button
24654          (near  the top right corner of the right panel), then select "Exter‐
24655          nal" and click on "CREATE"; on the next screen, enter  an  "Applica‐
24656          tion  name" ("rclone" is OK) then click on "Save" (all other data is
24657          optional).  Click again on "Credentials" on the  left  panel  to  go
24658          back to the "Credentials" screen.
24659
24660       (PS: if you are a GSuite user, you could also select "Internal" instead
24661       of "External" above, but this has not been tested/documented so far).
24662
24663        6. Click on the "+ CREATE  CREDENTIALS"  button  at  the  top  of  the
24664           screen, then select "OAuth client ID".
24665
24666        7. Choose  an  application  type  of "Desktop app" and click "Create".
24667           (the default name is fine)
24668
24669        8. It will show you a client ID and client secret.   Make  a  note  of
24670           these.
24671
24672        9. Go to "Oauth consent screen" and press "Publish App"
24673
24674       10. Provide the noted client ID and client secret to rclone.
24675
24676       11. Click  "OAuth  consent screen", then click "PUBLISH APP" button and
24677           confirm, or add your account under "Test users".
24678
24679       Be aware that, due to the "enhanced security"  recently  introduced  by
24680       Google,  you are theoretically expected to "submit your app for verifi‐
24681       cation" and then wait a few weeks(!) for their response;  in  practice,
24682       you  can  go  right  ahead and use the client ID and client secret with
24683       rclone, the only issue will be a very scary confirmation  screen  shown
24684       when  you connect via your browser for rclone to be able to get its to‐
24685       ken-id (but as this only happens during the remote configuration,  it's
24686       not such a big deal).
24687
24688       (Thanks to @balazer on github for these instructions.)
24689
24690       Sometimes, creation of an OAuth consent in Google API Console fails due
24691       to an error message “The request failed because changes to one  of  the
24692       field  of  the resource is not supported”.  As a convenient workaround,
24693       the necessary Google Drive API key can be created on the Python  Quick‐
24694       start    (https://developers.google.com/drive/api/v3/quickstart/python)
24695       page.  Just push the Enable the Drive API button to receive the  Client
24696       ID and Secret.  Note that it will automatically create a new project in
24697       the API Console.
24698

Google Photos

24700       The  rclone  backend  for  Google  Photos  (https://www.google.com/pho
24701       tos/about/) is a specialized backend for transferring photos and videos
24702       to and from Google Photos.
24703
24704       NB The Google Photos API which rclone uses has quite a few limitations,
24705       so  please  read  the  limitations section carefully to make sure it is
24706       suitable for your use.
24707
24708   Configuration
24709       The initial setup for google cloud storage  involves  getting  a  token
24710       from Google Photos which you need to do in your browser.  rclone config
24711       walks you through it.
24712
24713       Here is an example of how to make a remote called remote.  First run:
24714
24715               rclone config
24716
24717       This will guide you through an interactive setup process:
24718
24719              No remotes found - make a new one
24720              n) New remote
24721              s) Set configuration password
24722              q) Quit config
24723              n/s/q> n
24724              name> remote
24725              Type of storage to configure.
24726              Enter a string value. Press Enter for the default ("").
24727              Choose a number from below, or type in your own value
24728              [snip]
24729              XX / Google Photos
24730                 \ "google photos"
24731              [snip]
24732              Storage> google photos
24733              ** See help for google photos backend at: https://rclone.org/googlephotos/ **
24734
24735              Google Application Client Id
24736              Leave blank normally.
24737              Enter a string value. Press Enter for the default ("").
24738              client_id>
24739              Google Application Client Secret
24740              Leave blank normally.
24741              Enter a string value. Press Enter for the default ("").
24742              client_secret>
24743              Set to make the Google Photos backend read only.
24744
24745              If you choose read only then rclone will only request read only access
24746              to your photos, otherwise rclone will request full access.
24747              Enter a boolean value (true or false). Press Enter for the default ("false").
24748              read_only>
24749              Edit advanced config? (y/n)
24750              y) Yes
24751              n) No
24752              y/n> n
24753              Remote config
24754              Use auto config?
24755               * Say Y if not sure
24756               * Say N if you are working on a remote or headless machine
24757              y) Yes
24758              n) No
24759              y/n> y
24760              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
24761              Log in and authorize rclone for access
24762              Waiting for code...
24763              Got code
24764
24765              *** IMPORTANT: All media items uploaded to Google Photos with rclone
24766              *** are stored in full resolution at original quality.  These uploads
24767              *** will count towards storage in your Google Account.
24768
24769              --------------------
24770              [remote]
24771              type = google photos
24772              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"}
24773              --------------------
24774              y) Yes this is OK
24775              e) Edit this remote
24776              d) Delete this remote
24777              y/e/d> y
24778
24779       Note that rclone runs a webserver on your local machine to collect  the
24780       token  as  returned from Google if you use auto config mode.  This only
24781       runs from the moment it opens your browser to the moment you  get  back
24782       the verification code.  This is on http://127.0.0.1:53682/ and this may
24783       require you to unblock it temporarily if you are running a  host  fire‐
24784       wall, or use manual mode.
24785
24786       This remote is called remote and can now be used like this
24787
24788       See all the albums in your photos
24789
24790              rclone lsd remote:album
24791
24792       Make a new album
24793
24794              rclone mkdir remote:album/newAlbum
24795
24796       List the contents of an album
24797
24798              rclone ls remote:album/newAlbum
24799
24800       Sync /home/local/images to the Google Photos, removing any excess files
24801       in the album.
24802
24803              rclone sync -i /home/local/image remote:album/newAlbum
24804
24805   Layout
24806       As Google Photos is not a general  purpose  cloud  storage  system  the
24807       backend is laid out to help you navigate it.
24808
24809       The directories under media show different ways of categorizing the me‐
24810       dia.  Each file will appear multiple times.  So if you want to  make  a
24811       backup  of  your  google  photos  you might choose to backup remote:me‐
24812       dia/by-month.  (NB remote:media/by-day is rather slow at the moment  so
24813       avoid for syncing.)
24814
24815       Note that all your photos and videos will appear somewhere under media,
24816       but they may not appear under album unless you've put them into albums.
24817
24818              /
24819              - upload
24820                  - file1.jpg
24821                  - file2.jpg
24822                  - ...
24823              - media
24824                  - all
24825                      - file1.jpg
24826                      - file2.jpg
24827                      - ...
24828                  - by-year
24829                      - 2000
24830                          - file1.jpg
24831                          - ...
24832                      - 2001
24833                          - file2.jpg
24834                          - ...
24835                      - ...
24836                  - by-month
24837                      - 2000
24838                          - 2000-01
24839                              - file1.jpg
24840                              - ...
24841                          - 2000-02
24842                              - file2.jpg
24843                              - ...
24844                      - ...
24845                  - by-day
24846                      - 2000
24847                          - 2000-01-01
24848                              - file1.jpg
24849                              - ...
24850                          - 2000-01-02
24851                              - file2.jpg
24852                              - ...
24853                      - ...
24854              - album
24855                  - album name
24856                  - album name/sub
24857              - shared-album
24858                  - album name
24859                  - album name/sub
24860              - feature
24861                  - favorites
24862                      - file1.jpg
24863                      - file2.jpg
24864
24865       There are two writable parts of the tree, the upload directory and  sub
24866       directories of the album directory.
24867
24868       The  upload directory is for uploading files you don't want to put into
24869       albums.  This will be empty to start with and will  contain  the  files
24870       you've  uploaded for one rclone session only, becoming empty again when
24871       you restart rclone.  The use case for this would be if you have a  load
24872       of  files  you  just want to once off dump into Google Photos.  For re‐
24873       peated syncing, uploading to album will work better.
24874
24875       Directories within the album directory are also writeable and  you  may
24876       create  new directories (albums) under album.  If you copy files with a
24877       directory hierarchy in there then rclone will create albums with the  /
24878       character in them.  For example if you do
24879
24880              rclone copy /path/to/images remote:album/images
24881
24882       and the images directory contains
24883
24884              images
24885                  - file1.jpg
24886                  dir
24887                      file2.jpg
24888                  dir2
24889                      dir3
24890                          file3.jpg
24891
24892       Then  rclone  will create the following albums with the following files
24893       in
24894
24895       • images
24896
24897         • file1.jpg
24898
24899       • images/dir
24900
24901         • file2.jpg
24902
24903       • images/dir2/dir3
24904
24905         • file3.jpg
24906
24907       This means that you can use the album path pretty much  like  a  normal
24908       filesystem and it is a good target for repeated syncing.
24909
24910       The  shared-album  directory  shows  albums  shared with you or by you.
24911       This is similar to the Sharing tab in the Google Photos web interface.
24912
24913   Standard options
24914       Here are the standard options specific to google  photos  (Google  Pho‐
24915       tos).
24916
24917   --gphotos-client-id
24918       OAuth Client Id.
24919
24920       Leave blank normally.
24921
24922       • Config: client_id
24923
24924       • Env Var: RCLONE_GPHOTOS_CLIENT_ID
24925
24926       • Type: string
24927
24928       • Default: ""
24929
24930   --gphotos-client-secret
24931       OAuth Client Secret.
24932
24933       Leave blank normally.
24934
24935       • Config: client_secret
24936
24937       • Env Var: RCLONE_GPHOTOS_CLIENT_SECRET
24938
24939       • Type: string
24940
24941       • Default: ""
24942
24943   --gphotos-read-only
24944       Set to make the Google Photos backend read only.
24945
24946       If  you choose read only then rclone will only request read only access
24947       to your photos, otherwise rclone will request full access.
24948
24949       • Config: read_only
24950
24951       • Env Var: RCLONE_GPHOTOS_READ_ONLY
24952
24953       • Type: bool
24954
24955       • Default: false
24956
24957   Advanced options
24958       Here are the advanced options specific to google  photos  (Google  Pho‐
24959       tos).
24960
24961   --gphotos-token
24962       OAuth Access Token as a JSON blob.
24963
24964       • Config: token
24965
24966       • Env Var: RCLONE_GPHOTOS_TOKEN
24967
24968       • Type: string
24969
24970       • Default: ""
24971
24972   --gphotos-auth-url
24973       Auth server URL.
24974
24975       Leave blank to use the provider defaults.
24976
24977       • Config: auth_url
24978
24979       • Env Var: RCLONE_GPHOTOS_AUTH_URL
24980
24981       • Type: string
24982
24983       • Default: ""
24984
24985   --gphotos-token-url
24986       Token server url.
24987
24988       Leave blank to use the provider defaults.
24989
24990       • Config: token_url
24991
24992       • Env Var: RCLONE_GPHOTOS_TOKEN_URL
24993
24994       • Type: string
24995
24996       • Default: ""
24997
24998   --gphotos-read-size
24999       Set to read the size of media items.
25000
25001       Normally  rclone does not read the size of media items since this takes
25002       another transaction.  This isn't necessary for syncing.  However rclone
25003       mount  needs  to  know the size of files in advance of reading them, so
25004       setting this flag when using rclone mount is recommended if you want to
25005       read the media.
25006
25007       • Config: read_size
25008
25009       • Env Var: RCLONE_GPHOTOS_READ_SIZE
25010
25011       • Type: bool
25012
25013       • Default: false
25014
25015   --gphotos-start-year
25016       Year limits the photos to be downloaded to those which are uploaded af‐
25017       ter the given year.
25018
25019       • Config: start_year
25020
25021       • Env Var: RCLONE_GPHOTOS_START_YEAR
25022
25023       • Type: int
25024
25025       • Default: 2000
25026
25027   --gphotos-include-archived
25028       Also view and download archived media.
25029
25030       By default rclone does not request archived media.  Thus, when syncing,
25031       archived media is not visible in directory listings or transferred.
25032
25033       Note that media in albums is always visible and synced, no matter their
25034       archive status.
25035
25036       With this flag, archived media are always visible in directory listings
25037       and transferred.
25038
25039       Without  this  flag,  archived  media  will not be visible in directory
25040       listings and won't be transferred.
25041
25042       • Config: include_archived
25043
25044       • Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED
25045
25046       • Type: bool
25047
25048       • Default: false
25049
25050   --gphotos-encoding
25051       This sets the encoding for the backend.
25052
25053       See the encoding  section  in  the  overview  (https://rclone.org/over
25054       view/#encoding) for more info.
25055
25056       • Config: encoding
25057
25058       • Env Var: RCLONE_GPHOTOS_ENCODING
25059
25060       • Type: MultiEncoder
25061
25062       • Default: Slash,CrLf,InvalidUtf8,Dot
25063
25064   Limitations
25065       Only  images  and videos can be uploaded.  If you attempt to upload non
25066       videos or images or formats  that  Google  Photos  doesn't  understand,
25067       rclone will upload the file, then Google Photos will give an error when
25068       it is put turned into a media item.
25069
25070       Note that all media items uploaded to Google Photos through the API are
25071       stored  in full resolution at "original quality" and will count towards
25072       your storage quota in your Google Account.  The API does  not  offer  a
25073       way to upload in "high quality" mode..
25074
25075       rclone  about  is not supported by the Google Photos backend.  Backends
25076       without this capability cannot determine free space for an rclone mount
25077       or  use policy mfs (most free space) as a member of an rclone union re‐
25078       mote.
25079
25080       See   List   of   backends   that   do   not   support   rclone   about
25081       (https://rclone.org/overview/#optional-features)   See   rclone   about
25082       (https://rclone.org/commands/rclone_about/)
25083
25084   Downloading Images
25085       When Images are downloaded this strips EXIF location (according to  the
25086       docs  and my tests).  This is a limitation of the Google Photos API and
25087       is  covered  by  bug  #112096115   (https://issuetracker.google.com/is
25088       sues/112096115).
25089
25090       The current google API does not allow photos to be downloaded at origi‐
25091       nal resolution. This is very important if you are, for example, relying
25092       on  "Google Photos" as a backup of your photos. You will not be able to
25093       use rclone to redownload original images. You could use  'google  take‐
25094       out' to recover the original photos as a last resort
25095
25096   Downloading Videos
25097       When  videos  are downloaded they are downloaded in a really compressed
25098       version of the video compared to downloading it via the  Google  Photos
25099       web  interface.  This is covered by bug #113672044 (https://issuetrack
25100       er.google.com/issues/113672044).
25101
25102   Duplicates
25103       If a file name is duplicated in a directory then rclone  will  add  the
25104       file  ID into its name.  So two files called file.jpg would then appear
25105       as file {123456}.jpg and file {ABCDEF}.jpg (the actual IDs  are  a  lot
25106       longer alas!).
25107
25108       If  you  upload  the  same image (with the same binary data) twice then
25109       Google Photos will deduplicate it.  However it will retain the filename
25110       from the first upload which may confuse rclone.  For example if you up‐
25111       loaded an image to upload then uploaded the same image to  album/my_al‐
25112       bum the filename of the image in album/my_album will be what it was up‐
25113       loaded with initially, not what you uploaded  it  with  to  album.   In
25114       practise this shouldn't cause too many problems.
25115
25116   Modified time
25117       The date shown of media in Google Photos is the creation date as deter‐
25118       mined by the EXIF information, or the upload date if that is not known.
25119
25120       This is not changeable by rclone and is not the  modification  date  of
25121       the  media  on local disk.  This means that rclone cannot use the dates
25122       from Google Photos for syncing purposes.
25123
25124   Size
25125       The Google Photos API does not return the size of  media.   This  means
25126       that when syncing to Google Photos, rclone can only do a file existence
25127       check.
25128
25129       It is possible to read the size of the media, but this needs  an  extra
25130       HTTP  HEAD  request per media item so is very slow and uses up a lot of
25131       transactions.  This can be enabled with the --gphotos-read-size  option
25132       or the read_size = true config parameter.
25133
25134       If you want to use the backend with rclone mount you may need to enable
25135       this flag (depending on your OS and application using the photos)  oth‐
25136       erwise you may not be able to read media off the mount.  You'll need to
25137       experiment to see if it works for you without the flag.
25138
25139   Albums
25140       Rclone can only upload files to albums it created.  This is  a  limita‐
25141       tion of the Google Photos API (https://developers.google.com/photos/li
25142       brary/guides/manage-albums).
25143
25144       Rclone can remove files it uploaded from albums it created only.
25145
25146   Deleting files
25147       Rclone can remove files from albums  it  created,  but  note  that  the
25148       Google  Photos  API  does  not allow media to be deleted permanently so
25149       this media will still remain.  See bug #109759781  (https://issuetrack
25150       er.google.com/issues/109759781).
25151
25152       Rclone cannot delete files anywhere except under album.
25153
25154   Deleting albums
25155       The  Google  Photos  API  does  not  support  deleting albums - see bug
25156       #135714733 (https://issuetracker.google.com/issues/135714733).
25157

Hasher (EXPERIMENTAL)

25159       Hasher is a special overlay backend  to  create  remotes  which  handle
25160       checksums  for  other  remotes.  It's main functions include: - Emulate
25161       hash types unimplemented by backends - Cache  checksums  to  help  with
25162       slow  hashing  of  large local or (S)FTP files - Warm up checksum cache
25163       from external SUM files
25164
25165   Getting started
25166       To use Hasher, first set up the underlying remote following the config‐
25167       uration  instructions  for that remote.  You can also use a local path‐
25168       name instead of a remote.  Check that your base remote is working.
25169
25170       Let's call the base remote myRemote:path here.  Note that anything  in‐
25171       side  myRemote:path  will  be  handled  by  hasher and anything outside
25172       won't.  This means that if you are using a bucket based remote (S3, B2,
25173       Swift) then you should put the bucket in the remote s3:bucket.
25174
25175       Now proceed to interactive or manual configuration.
25176
25177   Interactive configuration
25178       Run rclone config:
25179
25180              No remotes found - make a new one
25181              n) New remote
25182              s) Set configuration password
25183              q) Quit config
25184              n/s/q> n
25185              name> Hasher1
25186              Type of storage to configure.
25187              Choose a number from below, or type in your own value
25188              [snip]
25189              XX / Handle checksums for other remotes
25190                 \ "hasher"
25191              [snip]
25192              Storage> hasher
25193              Remote to cache checksums for, like myremote:mypath.
25194              Enter a string value. Press Enter for the default ("").
25195              remote> myRemote:path
25196              Comma separated list of supported checksum types.
25197              Enter a string value. Press Enter for the default ("md5,sha1").
25198              hashsums> md5
25199              Maximum time to keep checksums in cache. 0 = no cache, off = cache forever.
25200              max_age> off
25201              Edit advanced config? (y/n)
25202              y) Yes
25203              n) No
25204              y/n> n
25205              Remote config
25206              --------------------
25207              [Hasher1]
25208              type = hasher
25209              remote = myRemote:path
25210              hashsums = md5
25211              max_age = off
25212              --------------------
25213              y) Yes this is OK
25214              e) Edit this remote
25215              d) Delete this remote
25216              y/e/d> y
25217
25218   Manual configuration
25219       Run  rclone  config path to see the path of current active config file,
25220       usually YOURHOME/.config/rclone/rclone.conf.  Open it in your  favorite
25221       text  editor,  find  section for the base remote and create new section
25222       for hasher like in the following examples:
25223
25224              [Hasher1]
25225              type = hasher
25226              remote = myRemote:path
25227              hashes = md5
25228              max_age = off
25229
25230              [Hasher2]
25231              type = hasher
25232              remote = /local/path
25233              hashes = dropbox,sha1
25234              max_age = 24h
25235
25236       Hasher takes basically the following parameters: - remote is  required,
25237       -  hashes  is a comma separated list of supported checksums (by default
25238       md5,sha1), - max_age - maximum time to keep a  checksum  value  in  the
25239       cache,  0  will  disable  caching  completely, off will cache "forever"
25240       (that is until the files get changed).
25241
25242       Make sure the remote has : (colon) in.  If you specify the remote with‐
25243       out a colon then rclone will use a local directory of that name.  So if
25244       you use a remote of /local/path then rclone will handle hashes for that
25245       directory.   If  you  use  remote = name literally then rclone will put
25246       files in a directory called name located under current directory.
25247
25248   Usage
25249   Basic operations
25250       Now you can use it  as  Hasher2:subdir/file  instead  of  base  remote.
25251       Hasher  will  transparently update cache with new checksums when a file
25252       is fully read or overwritten, like:
25253
25254              rclone copy External:path/file Hasher:dest/path
25255
25256              rclone cat Hasher:path/to/file > /dev/null
25257
25258       The way to refresh all cached checksums (even unsupported by  the  base
25259       backend) for a subtree is to re-download all files in the subtree.  For
25260       example, use hashsum --download using any supported hashsum on the com‐
25261       mand line (we just care to re-read):
25262
25263              rclone hashsum MD5 --download Hasher:path/to/subtree > /dev/null
25264
25265              rclone backend dump Hasher:path/to/subtree
25266
25267       You can print or drop hashsum cache using custom backend commands:
25268
25269              rclone backend dump Hasher:dir/subdir
25270
25271              rclone backend drop Hasher:
25272
25273   Pre-Seed from a SUM File
25274       Hasher  supports  two  backend  commands:  generic  SUM file import and
25275       faster but less consistent stickyimport.
25276
25277              rclone backend import Hasher:dir/subdir SHA1 /path/to/SHA1SUM [--checkers 4]
25278
25279       Instead of SHA1 it can be any hash supported by the remote.   The  last
25280       argument  can point to either a local or an other-remote:path text file
25281       in SUM format.  The command will parse the SUM file, then walk down the
25282       path  given  by  the  first argument, snapshot current fingerprints and
25283       fill in the cache entries correspondingly.  - Paths in the SUM file are
25284       treated as relative to hasher:dir/subdir.  - The command will not check
25285       that supplied values are correct.  You must know what you are doing.  -
25286       This is a one-time action.  The SUM file will not get "attached" to the
25287       remote.  Cache entries can still be overwritten later, should  the  ob‐
25288       ject's  fingerprint change.  - The tree walk can take long depending on
25289       the tree size.  You can increase --checkers to make it faster.  Or  use
25290       stickyimport if you don't care about fingerprints and consistency.
25291
25292              rclone backend stickyimport hasher:path/to/data sha1 remote:/path/to/sum.sha1
25293
25294       stickyimport is similar to import but works much faster because it does
25295       not need to stat existing files and skips initial tree  walk.   Instead
25296       of binding cache entries to file fingerprints it creates sticky entries
25297       bound to the file name alone  ignoring  size,  modification  time  etc.
25298       Such  hash  entries can be replaced only by purge, delete, backend drop
25299       or by full re-read/re-write of the files.
25300
25301   Configuration reference
25302   Standard options
25303       Here are the standard options specific to hasher (Better checksums  for
25304       other remotes).
25305
25306   --hasher-remote
25307       Remote to cache checksums for (e.g.  myRemote:path).
25308
25309       • Config: remote
25310
25311       • Env Var: RCLONE_HASHER_REMOTE
25312
25313       • Type: string
25314
25315       • Default: ""
25316
25317   --hasher-hashes
25318       Comma separated list of supported checksum types.
25319
25320       • Config: hashes
25321
25322       • Env Var: RCLONE_HASHER_HASHES
25323
25324       • Type: CommaSepList
25325
25326       • Default: md5,sha1
25327
25328   --hasher-max-age
25329       Maximum time to keep checksums in cache (0 = no cache, off = cache for‐
25330       ever).
25331
25332       • Config: max_age
25333
25334       • Env Var: RCLONE_HASHER_MAX_AGE
25335
25336       • Type: Duration
25337
25338       • Default: off
25339
25340   Advanced options
25341       Here are the advanced options specific to hasher (Better checksums  for
25342       other remotes).
25343
25344   --hasher-auto-size
25345       Auto-update  checksum for files smaller than this size (disabled by de‐
25346       fault).
25347
25348       • Config: auto_size
25349
25350       • Env Var: RCLONE_HASHER_AUTO_SIZE
25351
25352       • Type: SizeSuffix
25353
25354       • Default: 0
25355
25356   Backend commands
25357       Here are the commands specific to the hasher backend.
25358
25359       Run them with
25360
25361              rclone backend COMMAND remote:
25362
25363       The help below will explain what arguments each command takes.
25364
25365       See   the    "rclone    backend"    command    (https://rclone.org/com
25366       mands/rclone_backend/)  for  more info on how to pass options and argu‐
25367       ments.
25368
25369       These can be run on a running backend using the rc command backend/com‐
25370       mand (https://rclone.org/rc/#backend/command).
25371
25372   drop
25373       Drop cache
25374
25375              rclone backend drop remote: [options] [<arguments>+]
25376
25377       Completely  drop  checksum  cache.   Usage Example: rclone backend drop
25378       hasher:
25379
25380   dump
25381       Dump the database
25382
25383              rclone backend dump remote: [options] [<arguments>+]
25384
25385       Dump cache records covered by the current remote
25386
25387   fulldump
25388       Full dump of the database
25389
25390              rclone backend fulldump remote: [options] [<arguments>+]
25391
25392       Dump all cache records in the database
25393
25394   import
25395       Import a SUM file
25396
25397              rclone backend import remote: [options] [<arguments>+]
25398
25399       Amend hash cache from a  SUM  file  and  bind  checksums  to  files  by
25400       size/time.   Usage  Example:  rclone  backend  import hasher:subdir md5
25401       /path/to/sum.md5
25402
25403   stickyimport
25404       Perform fast import of a SUM file
25405
25406              rclone backend stickyimport remote: [options] [<arguments>+]
25407
25408       Fill hash cache from a SUM file without  verifying  file  fingerprints.
25409       Usage  Example:  rclone  backend  stickyimport  hasher:subdir  md5  re‐
25410       mote:path/to/sum.md5
25411
25412   Implementation details (advanced)
25413       This section explains how various rclone operations work  on  a  hasher
25414       remote.
25415
25416       Disclaimer.  This  section  describes  current implementation which can
25417       change in future rclone versions!.
25418
25419   Hashsum command
25420       The rclone hashsum (or md5sum or sha1sum) command will:
25421
25422       1. if requested hash is supported by lower level, just pass it.
25423
25424       2. if object size is below auto_size then download object and calculate
25425          requested hashes on the fly.
25426
25427       3. if  unsupported and the size is big enough, build object fingerprint
25428          (including size, modtime if supported,  first-found  other  hash  if
25429          any).
25430
25431       4. if  the strict match is found in cache for the requested remote, re‐
25432          turn the stored hash.
25433
25434       5. if remote found but fingerprint mismatched, then purge the entry and
25435          proceed to step 6.
25436
25437       6. if  remote  not found or had no requested hash type or after step 5:
25438          download object, calculate all supported hashes on the fly and store
25439          in cache; return requested hash.
25440
25441   Other operations
25442       • whenever a file is uploaded or downloaded in full, capture the stream
25443         to calculate all supported hashes on the fly and update database
25444
25445       • server-side move will update keys of existing cache entries
25446
25447       • deletefile will remove a single cache entry
25448
25449       • purge will remove all cache entries under the purged path
25450
25451       Note that setting max_age = 0 will disable checksum caching completely.
25452
25453       If you set max_age = off, checksums in cache will never age, unless you
25454       fully rewrite or delete the file.
25455
25456   Cache storage
25457       Cached  checksums  are stored as bolt database files under rclone cache
25458       directory, usually ~/.cache/rclone/kv/.  Databases are  maintained  one
25459       per  base  backend,  named  like BaseRemote~hasher.bolt.  Checksums for
25460       multiple alias-es into a single base backend will be stored in the sin‐
25461       gle  database.   All  local paths are treated as aliases into the local
25462       backend    (unless    crypted    or    chunked)    and    stored     in
25463       ~/.cache/rclone/kv/local~hasher.bolt.   Databases can be shared between
25464       multiple rclone processes.
25465

HDFS

25467       HDFS (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-
25468       hdfs/HdfsDesign.html)  is a distributed file-system, part of the Apache
25469       Hadoop (https://hadoop.apache.org/) framework.
25470
25471       Paths are specified as remote: or remote:path/to/dir.
25472
25473   Configuration
25474       Here is an example of how to make a remote called remote.  First run:
25475
25476               rclone config
25477
25478       This will guide you through an interactive setup process:
25479
25480              No remotes found - make a new one
25481              n) New remote
25482              s) Set configuration password
25483              q) Quit config
25484              n/s/q> n
25485              name> remote
25486              Type of storage to configure.
25487              Enter a string value. Press Enter for the default ("").
25488              Choose a number from below, or type in your own value
25489              [skip]
25490              XX / Hadoop distributed file system
25491                 \ "hdfs"
25492              [skip]
25493              Storage> hdfs
25494              ** See help for hdfs backend at: https://rclone.org/hdfs/ **
25495
25496              hadoop name node and port
25497              Enter a string value. Press Enter for the default ("").
25498              Choose a number from below, or type in your own value
25499               1 / Connect to host namenode at port 8020
25500                 \ "namenode:8020"
25501              namenode> namenode.hadoop:8020
25502              hadoop user name
25503              Enter a string value. Press Enter for the default ("").
25504              Choose a number from below, or type in your own value
25505               1 / Connect to hdfs as root
25506                 \ "root"
25507              username> root
25508              Edit advanced config? (y/n)
25509              y) Yes
25510              n) No (default)
25511              y/n> n
25512              Remote config
25513              --------------------
25514              [remote]
25515              type = hdfs
25516              namenode = namenode.hadoop:8020
25517              username = root
25518              --------------------
25519              y) Yes this is OK (default)
25520              e) Edit this remote
25521              d) Delete this remote
25522              y/e/d> y
25523              Current remotes:
25524
25525              Name                 Type
25526              ====                 ====
25527              hadoop               hdfs
25528
25529              e) Edit existing remote
25530              n) New remote
25531              d) Delete remote
25532              r) Rename remote
25533              c) Copy remote
25534              s) Set configuration password
25535              q) Quit config
25536              e/n/d/r/c/s/q> q
25537
25538       This remote is called remote and can now be used like this
25539
25540       See all the top level directories
25541
25542              rclone lsd remote:
25543
25544       List the contents of a directory
25545
25546              rclone ls remote:directory
25547
25548       Sync the remote directory to /home/local/directory, deleting any excess
25549       files.
25550
25551              rclone sync -i remote:directory /home/local/directory
25552
25553   Setting up your own HDFS instance for testing
25554       You  may start with a manual setup (https://hadoop.apache.org/docs/sta
25555       ble/hadoop-project-dist/hadoop-common/SingleCluster.html)  or  use  the
25556       docker image from the tests:
25557
25558       If you want to build the docker image
25559
25560              git clone https://github.com/rclone/rclone.git
25561              cd rclone/fstest/testserver/images/test-hdfs
25562              docker build --rm -t rclone/test-hdfs .
25563
25564       Or you can just use the latest one pushed
25565
25566              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
25567
25568       NB it need few seconds to startup.
25569
25570       For this docker image the remote needs to be configured like this:
25571
25572              [remote]
25573              type = hdfs
25574              namenode = 127.0.0.1:8020
25575              username = root
25576
25577       You  can  stop  this image with docker kill rclone-hdfs (NB it does not
25578       use volumes, so all data uploaded will be lost.)
25579
25580   Modified time
25581       Time accurate to 1 second is stored.
25582
25583   Checksum
25584       No checksums are implemented.
25585
25586   Usage information
25587       You can use  the  rclone  about  remote:  command  which  will  display
25588       filesystem size and current usage.
25589
25590   Restricted filename characters
25591       In    addition    to    the    default    restricted   characters   set
25592       (https://rclone.org/overview/#restricted-characters)   the    following
25593       characters are also replaced:
25594
25595       Character   Value   Replacement
25596       ────────────────────────────────
25597       :           0x3A        :
25598
25599       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
25600       view/#invalid-utf8).
25601
25602   Standard options
25603       Here are the standard options specific to hdfs (Hadoop distributed file
25604       system).
25605
25606   --hdfs-namenode
25607       Hadoop name node and port.
25608
25609       E.g.  "namenode:8020" to connect to host namenode at port 8020.
25610
25611       • Config: namenode
25612
25613       • Env Var: RCLONE_HDFS_NAMENODE
25614
25615       • Type: string
25616
25617       • Default: ""
25618
25619   --hdfs-username
25620       Hadoop user name.
25621
25622       • Config: username
25623
25624       • Env Var: RCLONE_HDFS_USERNAME
25625
25626       • Type: string
25627
25628       • Default: ""
25629
25630       • Examples:
25631
25632         • "root"
25633
25634           • Connect to hdfs as root.
25635
25636   Advanced options
25637       Here are the advanced options specific to hdfs (Hadoop distributed file
25638       system).
25639
25640   --hdfs-service-principal-name
25641       Kerberos service principal name for the namenode.
25642
25643       Enables KERBEROS authentication.  Specifies the Service Principal  Name
25644       (SERVICE/FQDN)  for  the namenode.  E.g.  "hdfs/namenode.hadoop.docker"
25645       for namenode running as service 'hdfs' with FQDN 'namenode.hadoop.dock‐
25646       er'.
25647
25648       • Config: service_principal_name
25649
25650       • Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
25651
25652       • Type: string
25653
25654       • Default: ""
25655
25656   --hdfs-data-transfer-protection
25657       Kerberos data transfer protection: authentication|integrity|privacy.
25658
25659       Specifies  whether  or  not  authentication,  data  signature integrity
25660       checks, and wire encryption is  required  when  communicating  the  the
25661       datanodes.  Possible values are 'authentication', 'integrity' and 'pri‐
25662       vacy'.  Used only with KERBEROS enabled.
25663
25664       • Config: data_transfer_protection
25665
25666       • Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
25667
25668       • Type: string
25669
25670       • Default: ""
25671
25672       • Examples:
25673
25674         • "privacy"
25675
25676           • Ensure authentication, integrity and encryption enabled.
25677
25678   --hdfs-encoding
25679       This sets the encoding for the backend.
25680
25681       See the encoding  section  in  the  overview  (https://rclone.org/over
25682       view/#encoding) for more info.
25683
25684       • Config: encoding
25685
25686       • Env Var: RCLONE_HDFS_ENCODING
25687
25688       • Type: MultiEncoder
25689
25690       • Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
25691
25692   Limitations
25693       • No server-side Move or DirMove.
25694
25695       • Checksums not implemented.
25696

HTTP

25698       The HTTP remote is a read only remote for reading files of a webserver.
25699       The webserver should provide file listings which rclone will  read  and
25700       turn  into  a remote.  This has been tested with common webservers such
25701       as Apache/Nginx/Caddy and will likely work with file listings from most
25702       web  servers.  (If it doesn't then please file an issue, or send a pull
25703       request!)
25704
25705       Paths are specified as remote: or remote:path/to/dir.
25706
25707   Configuration
25708       Here is an example of how to make a remote called remote.  First run:
25709
25710               rclone config
25711
25712       This will guide you through an interactive setup process:
25713
25714              No remotes found - make a new one
25715              n) New remote
25716              s) Set configuration password
25717              q) Quit config
25718              n/s/q> n
25719              name> remote
25720              Type of storage to configure.
25721              Choose a number from below, or type in your own value
25722              [snip]
25723              XX / http Connection
25724                 \ "http"
25725              [snip]
25726              Storage> http
25727              URL of http host to connect to
25728              Choose a number from below, or type in your own value
25729               1 / Connect to example.com
25730                 \ "https://example.com"
25731              url> https://beta.rclone.org
25732              Remote config
25733              --------------------
25734              [remote]
25735              url = https://beta.rclone.org
25736              --------------------
25737              y) Yes this is OK
25738              e) Edit this remote
25739              d) Delete this remote
25740              y/e/d> y
25741              Current remotes:
25742
25743              Name                 Type
25744              ====                 ====
25745              remote               http
25746
25747              e) Edit existing remote
25748              n) New remote
25749              d) Delete remote
25750              r) Rename remote
25751              c) Copy remote
25752              s) Set configuration password
25753              q) Quit config
25754              e/n/d/r/c/s/q> q
25755
25756       This remote is called remote and can now be used like this
25757
25758       See all the top level directories
25759
25760              rclone lsd remote:
25761
25762       List the contents of a directory
25763
25764              rclone ls remote:directory
25765
25766       Sync the remote directory to /home/local/directory, deleting any excess
25767       files.
25768
25769              rclone sync -i remote:directory /home/local/directory
25770
25771   Read only
25772       This remote is read only - you can't upload files to an HTTP server.
25773
25774   Modified time
25775       Most HTTP servers store time accurate to 1 second.
25776
25777   Checksum
25778       No checksums are stored.
25779
25780   Usage without a config file
25781       Since  the  http remote only has one config parameter it is easy to use
25782       without a config file:
25783
25784              rclone lsd --http-url https://beta.rclone.org :http:
25785
25786   Standard options
25787       Here are the standard options specific to http (http Connection).
25788
25789   --http-url
25790       URL of http host to connect to.
25791
25792       E.g.  "https://example.com", or "https://user:pass@example.com" to  use
25793       a username and password.
25794
25795       • Config: url
25796
25797       • Env Var: RCLONE_HTTP_URL
25798
25799       • Type: string
25800
25801       • Default: ""
25802
25803   Advanced options
25804       Here are the advanced options specific to http (http Connection).
25805
25806   --http-headers
25807       Set HTTP headers for all transactions.
25808
25809       Use this to set additional HTTP headers for all transactions.
25810
25811       The  input format is comma separated list of key,value pairs.  Standard
25812       CSV encoding (https://godoc.org/encoding/csv) may be used.
25813
25814       For example  to  set  a  Cookie  use  'Cookie,name=value',  or  '"Cook‐
25815       ie","name=value"'.
25816
25817       You  can set multiple headers, e.g.  '"Cookie","name=value","Authoriza‐
25818       tion","xxx"'.
25819
25820       • Config: headers
25821
25822       • Env Var: RCLONE_HTTP_HEADERS
25823
25824       • Type: CommaSepList
25825
25826       • Default:
25827
25828   --http-no-slash
25829       Set this if the site doesn't end directories with /.
25830
25831       Use this if your target website does not use / on the end  of  directo‐
25832       ries.
25833
25834       A  /  on  the end of a path is how rclone normally tells the difference
25835       between files and directories.  If this flag is set, then  rclone  will
25836       treat  all  files  with Content-Type: text/html as directories and read
25837       URLs from them rather than downloading them.
25838
25839       Note that this may cause rclone to confuse genuine HTML files with  di‐
25840       rectories.
25841
25842       • Config: no_slash
25843
25844       • Env Var: RCLONE_HTTP_NO_SLASH
25845
25846       • Type: bool
25847
25848       • Default: false
25849
25850   --http-no-head
25851       Don't use HEAD requests to find file sizes in dir listing.
25852
25853       If  your  site is being very slow to load then you can try this option.
25854       Normally rclone does a HEAD request for each potential file in a direc‐
25855       tory listing to:
25856
25857       • find its size
25858
25859       • check it really exists
25860
25861       • check to see if it is a directory
25862
25863       If you set this option, rclone will not do the HEAD request.  This will
25864       mean
25865
25866       • directory listings are much quicker
25867
25868       • rclone won't have the times or sizes of any files
25869
25870       • some files that don't exist may be in the listing
25871
25872       • Config: no_head
25873
25874       • Env Var: RCLONE_HTTP_NO_HEAD
25875
25876       • Type: bool
25877
25878       • Default: false
25879
25880   Limitations
25881       rclone about is not supported by the HTTP  backend.   Backends  without
25882       this  capability cannot determine free space for an rclone mount or use
25883       policy mfs (most free space) as a member of an rclone union remote.
25884
25885       See   List   of   backends   that   do   not   support   rclone   about
25886       (https://rclone.org/overview/#optional-features)   See   rclone   about
25887       (https://rclone.org/commands/rclone_about/)
25888

Hubic

25890       Paths are specified as remote:path
25891
25892       Paths are specified as remote:container (or remote: for  the  lsd  com‐
25893       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
25894       er/path/to/dir.
25895
25896   Configuration
25897       The initial setup for Hubic involves getting a token from  Hubic  which
25898       you need to do in your browser.  rclone config walks you through it.
25899
25900       Here is an example of how to make a remote called remote.  First run:
25901
25902               rclone config
25903
25904       This will guide you through an interactive setup process:
25905
25906              n) New remote
25907              s) Set configuration password
25908              n/s> n
25909              name> remote
25910              Type of storage to configure.
25911              Choose a number from below, or type in your own value
25912              [snip]
25913              XX / Hubic
25914                 \ "hubic"
25915              [snip]
25916              Storage> hubic
25917              Hubic Client Id - leave blank normally.
25918              client_id>
25919              Hubic Client Secret - leave blank normally.
25920              client_secret>
25921              Remote config
25922              Use auto config?
25923               * Say Y if not sure
25924               * Say N if you are working on a remote or headless machine
25925              y) Yes
25926              n) No
25927              y/n> y
25928              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
25929              Log in and authorize rclone for access
25930              Waiting for code...
25931              Got code
25932              --------------------
25933              [remote]
25934              client_id =
25935              client_secret =
25936              token = {"access_token":"XXXXXX"}
25937              --------------------
25938              y) Yes this is OK
25939              e) Edit this remote
25940              d) Delete this remote
25941              y/e/d> y
25942
25943       See the remote setup docs (https://rclone.org/remote_setup/) for how to
25944       set it up on a machine with no Internet browser available.
25945
25946       Note that rclone runs a webserver on your local machine to collect  the
25947       token  as returned from Hubic.  This only runs from the moment it opens
25948       your browser to the moment you get back the verification code.  This is
25949       on  http://127.0.0.1:53682/  and  this it may require you to unblock it
25950       temporarily if you are running a host firewall.
25951
25952       Once configured you can then use rclone like this,
25953
25954       List containers in the top level of your Hubic
25955
25956              rclone lsd remote:
25957
25958       List all the files in your Hubic
25959
25960              rclone ls remote:
25961
25962       To copy a local directory to an Hubic directory called backup
25963
25964              rclone copy /home/source remote:backup
25965
25966       If you want the directory to be visible in the official Hubic  browser,
25967       you need to copy your files to the default directory
25968
25969              rclone copy /home/source remote:default/backup
25970
25971   --fast-list
25972       This remote supports --fast-list which allows you to use fewer transac‐
25973       tions  in  exchange   for   more   memory.    See   the   rclone   docs
25974       (https://rclone.org/docs/#fast-list) for more details.
25975
25976   Modified time
25977       The  modified  time  is  stored  as  metadata  on  the  object as X-Ob‐
25978       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
25979
25980       This is a de facto standard (used in  the  official  python-swiftclient
25981       amongst others) for storing the modification time for an object.
25982
25983       Note  that  Hubic wraps the Swift backend, so most of the properties of
25984       are the same.
25985
25986   Standard options
25987       Here are the standard options specific to hubic (Hubic).
25988
25989   --hubic-client-id
25990       OAuth Client Id.
25991
25992       Leave blank normally.
25993
25994       • Config: client_id
25995
25996       • Env Var: RCLONE_HUBIC_CLIENT_ID
25997
25998       • Type: string
25999
26000       • Default: ""
26001
26002   --hubic-client-secret
26003       OAuth Client Secret.
26004
26005       Leave blank normally.
26006
26007       • Config: client_secret
26008
26009       • Env Var: RCLONE_HUBIC_CLIENT_SECRET
26010
26011       • Type: string
26012
26013       • Default: ""
26014
26015   Advanced options
26016       Here are the advanced options specific to hubic (Hubic).
26017
26018   --hubic-token
26019       OAuth Access Token as a JSON blob.
26020
26021       • Config: token
26022
26023       • Env Var: RCLONE_HUBIC_TOKEN
26024
26025       • Type: string
26026
26027       • Default: ""
26028
26029   --hubic-auth-url
26030       Auth server URL.
26031
26032       Leave blank to use the provider defaults.
26033
26034       • Config: auth_url
26035
26036       • Env Var: RCLONE_HUBIC_AUTH_URL
26037
26038       • Type: string
26039
26040       • Default: ""
26041
26042   --hubic-token-url
26043       Token server url.
26044
26045       Leave blank to use the provider defaults.
26046
26047       • Config: token_url
26048
26049       • Env Var: RCLONE_HUBIC_TOKEN_URL
26050
26051       • Type: string
26052
26053       • Default: ""
26054
26055   --hubic-chunk-size
26056       Above this size files will be chunked into a _segments container.
26057
26058       Above this size files will be chunked into a _segments container.   The
26059       default for this is 5 GiB which is its maximum value.
26060
26061       • Config: chunk_size
26062
26063       • Env Var: RCLONE_HUBIC_CHUNK_SIZE
26064
26065       • Type: SizeSuffix
26066
26067       • Default: 5Gi
26068
26069   --hubic-no-chunk
26070       Don't chunk files during streaming upload.
26071
26072       When  doing  streaming uploads (e.g.  using rcat or mount) setting this
26073       flag will cause the swift backend to not upload chunked files.
26074
26075       This will limit the maximum upload size to 5 GiB.  However non  chunked
26076       files are easier to deal with and have an MD5SUM.
26077
26078       Rclone  will still chunk files bigger than chunk_size when doing normal
26079       copy operations.
26080
26081       • Config: no_chunk
26082
26083       • Env Var: RCLONE_HUBIC_NO_CHUNK
26084
26085       • Type: bool
26086
26087       • Default: false
26088
26089   --hubic-encoding
26090       This sets the encoding for the backend.
26091
26092       See the encoding  section  in  the  overview  (https://rclone.org/over
26093       view/#encoding) for more info.
26094
26095       • Config: encoding
26096
26097       • Env Var: RCLONE_HUBIC_ENCODING
26098
26099       • Type: MultiEncoder
26100
26101       • Default: Slash,InvalidUtf8
26102
26103   Limitations
26104       This uses the normal OpenStack Swift mechanism to refresh the Swift API
26105       credentials and ignores the expires field returned by the Hubic API.
26106
26107       The Swift API doesn't return a correct MD5SUM for segmented files  (Dy‐
26108       namic  or Static Large Objects) so rclone won't check or use the MD5SUM
26109       for these.
26110

Jottacloud

26112       Jottacloud is a cloud storage service provider from a Norwegian  compa‐
26113       ny,  using  its own datacenters in Norway.  In addition to the official
26114       service at jottacloud.com (https://www.jottacloud.com/), it  also  pro‐
26115       vides  white-label solutions to different companies, such as: * Telia *
26116       Telia Cloud (cloud.telia.se) * Telia Sky (sky.telia.no) * Tele2 * Tele2
26117       Cloud (mittcloud.tele2.se) * Elkjøp (with subsidiaries): * Elkjøp Cloud
26118       (cloud.elkjop.no) * Elgiganten Sweden (cloud.elgiganten.se) *  Elgigan‐
26119       ten Denmark (cloud.elgiganten.dk) * Giganti Cloud (cloud.gigantti.fi) *
26120       ELKO Clouud (cloud.elko.is)
26121
26122       Most of the white-label versions are supported  by  this  backend,  al‐
26123       though may require different authentication setup - described below.
26124
26125       Paths are specified as remote:path
26126
26127       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26128
26129   Authentication types
26130       Some  of the whitelabel versions uses a different authentication method
26131       than the official service, and you have to choose the correct one  when
26132       setting up the remote.
26133
26134   Standard authentication
26135       To  configure  Jottacloud you will need to generate a personal security
26136       token in the Jottacloud web interface.  You will the option  to  do  in
26137       your  account security settings (https://www.jottacloud.com/web/secure)
26138       (for whitelabel version you need to find this page in  its  web  inter‐
26139       face).  Note that the web interface may refer to this token as a Jotta‐
26140       Cli token.
26141
26142   Legacy authentication
26143       If you are using one of the whitelabel versions (e.g.  from  Elkjøp  or
26144       Tele2)  you  may  not have the option to generate a CLI token.  In this
26145       case you'll have to use the legacy authentication.  To to  this  select
26146       yes  when the setup asks for legacy authentication and enter your user‐
26147       name and password.  The rest of the setup is identical to  the  default
26148       setup.
26149
26150   Telia Cloud authentication
26151       Similar  to other whitelabel versions Telia Cloud doesn't offer the op‐
26152       tion of creating a CLI token, and additionally uses a separate  authen‐
26153       tication  flow  where  the  username is generated internally.  To setup
26154       rclone to use Telia Cloud, choose Telia  Cloud  authentication  in  the
26155       setup.  The rest of the setup is identical to the default setup.
26156
26157   Configuration
26158       Here  is  an example of how to make a remote called remote with the de‐
26159       fault setup.  First run:
26160
26161              rclone config
26162
26163       This will guide you through an interactive setup process:
26164
26165              No remotes found - make a new one
26166              n) New remote
26167              s) Set configuration password
26168              q) Quit config
26169              n/s/q> n
26170              name> remote
26171              Type of storage to configure.
26172              Enter a string value. Press Enter for the default ("").
26173              Choose a number from below, or type in your own value
26174              [snip]
26175              XX / Jottacloud
26176                 \ "jottacloud"
26177              [snip]
26178              Storage> jottacloud
26179              ** See help for jottacloud backend at: https://rclone.org/jottacloud/ **
26180
26181              Edit advanced config? (y/n)
26182              y) Yes
26183              n) No
26184              y/n> n
26185              Remote config
26186              Use legacy authentication?.
26187              This is only required for certain whitelabel versions of Jottacloud and not recommended for normal users.
26188              y) Yes
26189              n) No (default)
26190              y/n> n
26191
26192              Generate a personal login token here: https://www.jottacloud.com/web/secure
26193              Login Token> <your token here>
26194
26195              Do you want to use a non standard device/mountpoint e.g. for accessing files uploaded using the official Jottacloud client?
26196
26197              y) Yes
26198              n) No
26199              y/n> y
26200              Please select the device to use. Normally this will be Jotta
26201              Choose a number from below, or type in an existing value
26202               1 > DESKTOP-3H31129
26203               2 > Jotta
26204              Devices> 2
26205              Please select the mountpoint to user. Normally this will be Archive
26206              Choose a number from below, or type in an existing value
26207               1 > Archive
26208               2 > Links
26209               3 > Sync
26210
26211              Mountpoints> 1
26212              --------------------
26213              [jotta]
26214              type = jottacloud
26215              token = {........}
26216              device = Jotta
26217              mountpoint = Archive
26218              configVersion = 1
26219              --------------------
26220              y) Yes this is OK
26221              e) Edit this remote
26222              d) Delete this remote
26223              y/e/d> y
26224
26225       Once configured you can then use rclone like this,
26226
26227       List directories in top level of your Jottacloud
26228
26229              rclone lsd remote:
26230
26231       List all the files in your Jottacloud
26232
26233              rclone ls remote:
26234
26235       To copy a local directory to an Jottacloud directory called backup
26236
26237              rclone copy /home/source remote:backup
26238
26239   Devices and Mountpoints
26240       The official Jottacloud client registers a device for each computer you
26241       install it on, and then creates a mountpoint for each folder you select
26242       for Backup.  The web interface uses a special device called  Jotta  for
26243       the Archive and Sync mountpoints.  In most cases you'll want to use the
26244       Jotta/Archive device/mountpoint, however if you want  to  access  files
26245       uploaded  by  any of the official clients rclone provides the option to
26246       select other devices and mountpoints during config.
26247
26248       The built-in Jotta device may also contain several  other  mountpoints,
26249       such  as:  Latest,  Links,  Shared and Trash.  These are special mount‐
26250       points with a different  internal  representation  than  the  "regular"
26251       mountpoints.   Rclone  will only to a very limited degree support them.
26252       Generally you should avoid these, unless you know what you are doing.
26253
26254   --fast-list
26255       This remote supports --fast-list which allows you to use fewer transac‐
26256       tions   in   exchange   for   more   memory.    See   the  rclone  docs
26257       (https://rclone.org/docs/#fast-list) for more details.
26258
26259       Note that the implementation in Jottacloud always uses  only  a  single
26260       API  request  to  get  the entire list, so for large folders this could
26261       lead to long wait time before the first results are shown.
26262
26263   Modified time and hashes
26264       Jottacloud allows modification times to be set on objects accurate to 1
26265       second.   These  will be used to detect whether objects need syncing or
26266       not.
26267
26268       Jottacloud supports MD5 type hashes, so  you  can  use  the  --checksum
26269       flag.
26270
26271       Note  that  Jottacloud  requires  the  MD5 hash before upload so if the
26272       source does not have an MD5 checksum then the file will be cached  tem‐
26273       porarily  on  disk (wherever the TMPDIR environment variable points to)
26274       before it is uploaded.  Small files will be cached in memory - see  the
26275       --jottacloud-md5-memory-limit flag.  When uploading from local disk the
26276       source checksum is always available, so this does not apply.   Starting
26277       with rclone version 1.52 the same is true for crypted remotes (in older
26278       versions the crypt backend would not calculate hashes for uploads  from
26279       local disk, so the Jottacloud backend had to do it as described above).
26280
26281   Restricted filename characters
26282       In    addition    to    the    default    restricted   characters   set
26283       (https://rclone.org/overview/#restricted-characters)   the    following
26284       characters are also replaced:
26285
26286       Character   Value   Replacement
26287       ────────────────────────────────
26288       "           0x22        "
26289       *           0x2A        *
26290       :           0x3A        :
26291       <           0x3C        <
26292       >           0x3E        >
26293       ?           0x3F        ?
26294       |           0x7C        |
26295
26296       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
26297       view/#invalid-utf8), as they can't be used in XML strings.
26298
26299   Deleting files
26300       By default rclone will send all files to the trash when deleting files.
26301       They  will be permanently deleted automatically after 30 days.  You may
26302       bypass the trash and permanently delete files immediately by using  the
26303       --jottacloud-hard-delete  flag, or set the equivalent environment vari‐
26304       able.    Emptying   the   trash   is   supported   by    the    cleanup
26305       (https://rclone.org/commands/rclone_cleanup/) command.
26306
26307   Versions
26308       Jottacloud supports file versioning.  When rclone uploads a new version
26309       of a file it creates a new version of it.  Currently rclone  only  sup‐
26310       ports retrieving the current version but older versions can be accessed
26311       via the Jottacloud Website.
26312
26313       Versioning can be disabled by --jottacloud-no-versions option.  This is
26314       achieved  by deleting the remote file prior to uploading a new version.
26315       If the upload the fails no version of the file will be available in the
26316       remote.
26317
26318   Quota information
26319       To view your current quota you can use the rclone about remote: command
26320       which will display your usage limit (unless it is  unlimited)  and  the
26321       current usage.
26322
26323   Advanced options
26324       Here are the advanced options specific to jottacloud (Jottacloud).
26325
26326   --jottacloud-md5-memory-limit
26327       Files  bigger  than this will be cached on disk to calculate the MD5 if
26328       required.
26329
26330       • Config: md5_memory_limit
26331
26332       • Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
26333
26334       • Type: SizeSuffix
26335
26336       • Default: 10Mi
26337
26338   --jottacloud-trashed-only
26339       Only show files that are in the trash.
26340
26341       This will show trashed files in their original directory structure.
26342
26343       • Config: trashed_only
26344
26345       • Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY
26346
26347       • Type: bool
26348
26349       • Default: false
26350
26351   --jottacloud-hard-delete
26352       Delete files permanently rather than putting them into the trash.
26353
26354       • Config: hard_delete
26355
26356       • Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
26357
26358       • Type: bool
26359
26360       • Default: false
26361
26362   --jottacloud-upload-resume-limit
26363       Files bigger than this can be resumed if the upload fail's.
26364
26365       • Config: upload_resume_limit
26366
26367       • Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
26368
26369       • Type: SizeSuffix
26370
26371       • Default: 10Mi
26372
26373   --jottacloud-no-versions
26374       Avoid server side versioning by deleting files and recreating files in‐
26375       stead of overwriting them.
26376
26377       • Config: no_versions
26378
26379       • Env Var: RCLONE_JOTTACLOUD_NO_VERSIONS
26380
26381       • Type: bool
26382
26383       • Default: false
26384
26385   --jottacloud-encoding
26386       This sets the encoding for the backend.
26387
26388       See  the  encoding  section  in  the overview (https://rclone.org/over
26389       view/#encoding) for more info.
26390
26391       • Config: encoding
26392
26393       • Env Var: RCLONE_JOTTACLOUD_ENCODING
26394
26395       • Type: MultiEncoder
26396
26397       • Default:                 Slash,LtGt,DoubleQuote,Colon,Question,Aster‐
26398         isk,Pipe,Del,Ctl,InvalidUtf8,Dot
26399
26400   Limitations
26401       Note  that  Jottacloud  is  case  insensitive  so you can't have a file
26402       called "Hello.doc" and one called "hello.doc".
26403
26404       There are quite a few characters  that  can't  be  in  Jottacloud  file
26405       names.   Rclone  will  map these names to and from an identical looking
26406       unicode equivalent.  For example if a file has  a  ?   in  it  will  be
26407       mapped to ? instead.
26408
26409       Jottacloud only supports filenames up to 255 characters in length.
26410
26411   Troubleshooting
26412       Jottacloud  exhibits  some  inconsistent  behaviours  regarding deleted
26413       files and folders which may cause Copy, Move and DirMove operations  to
26414       previously  deleted  paths  to fail.  Emptying the trash should help in
26415       such cases.
26416

Koofr

26418       Paths are specified as remote:path
26419
26420       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26421
26422   Configuration
26423       The initial setup for Koofr involves creating an  application  password
26424       for  rclone.   You  can  do  that  by opening the Koofr web application
26425       (https://app.koofr.net/app/admin/preferences/password),   giving    the
26426       password a nice name like rclone and clicking on generate.
26427
26428       Here is an example of how to make a remote called koofr.  First run:
26429
26430               rclone config
26431
26432       This will guide you through an interactive setup process:
26433
26434              No remotes found - make a new one
26435              n) New remote
26436              s) Set configuration password
26437              q) Quit config
26438              n/s/q> n
26439              name> koofr
26440              Type of storage to configure.
26441              Enter a string value. Press Enter for the default ("").
26442              Choose a number from below, or type in your own value
26443              [snip]
26444              XX / Koofr
26445                 \ "koofr"
26446              [snip]
26447              Storage> koofr
26448              ** See help for koofr backend at: https://rclone.org/koofr/ **
26449
26450              Your Koofr user name
26451              Enter a string value. Press Enter for the default ("").
26452              user> USER@NAME
26453              Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
26454              y) Yes type in my own password
26455              g) Generate random password
26456              y/g> y
26457              Enter the password:
26458              password:
26459              Confirm the password:
26460              password:
26461              Edit advanced config? (y/n)
26462              y) Yes
26463              n) No
26464              y/n> n
26465              Remote config
26466              --------------------
26467              [koofr]
26468              type = koofr
26469              baseurl = https://app.koofr.net
26470              user = USER@NAME
26471              password = *** ENCRYPTED ***
26472              --------------------
26473              y) Yes this is OK
26474              e) Edit this remote
26475              d) Delete this remote
26476              y/e/d> y
26477
26478       You  can choose to edit advanced config in order to enter your own ser‐
26479       vice URL if you use an on-premise or white  label  Koofr  instance,  or
26480       choose an alternative mount instead of your primary storage.
26481
26482       Once configured you can then use rclone like this,
26483
26484       List directories in top level of your Koofr
26485
26486              rclone lsd koofr:
26487
26488       List all the files in your Koofr
26489
26490              rclone ls koofr:
26491
26492       To copy a local directory to an Koofr directory called backup
26493
26494              rclone copy /home/source remote:backup
26495
26496   Restricted filename characters
26497       In    addition    to    the    default    restricted   characters   set
26498       (https://rclone.org/overview/#restricted-characters)   the    following
26499       characters are also replaced:
26500
26501       Character   Value   Replacement
26502       ────────────────────────────────
26503       \           0x5C        \
26504
26505       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
26506       view/#invalid-utf8), as they can't be used in XML strings.
26507
26508   Standard options
26509       Here are the standard options specific to koofr (Koofr).
26510
26511   --koofr-user
26512       Your Koofr user name.
26513
26514       • Config: user
26515
26516       • Env Var: RCLONE_KOOFR_USER
26517
26518       • Type: string
26519
26520       • Default: ""
26521
26522   --koofr-password
26523       Your    Koofr    password    for    rclone     (generate     one     at
26524       https://app.koofr.net/app/admin/preferences/password).
26525
26526       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
26527       (https://rclone.org/commands/rclone_obscure/).
26528
26529       • Config: password
26530
26531       • Env Var: RCLONE_KOOFR_PASSWORD
26532
26533       • Type: string
26534
26535       • Default: ""
26536
26537   Advanced options
26538       Here are the advanced options specific to koofr (Koofr).
26539
26540   --koofr-endpoint
26541       The Koofr API endpoint to use.
26542
26543       • Config: endpoint
26544
26545       • Env Var: RCLONE_KOOFR_ENDPOINT
26546
26547       • Type: string
26548
26549       • Default: "https://app.koofr.net"
26550
26551   --koofr-mountid
26552       Mount ID of the mount to use.
26553
26554       If omitted, the primary mount is used.
26555
26556       • Config: mountid
26557
26558       • Env Var: RCLONE_KOOFR_MOUNTID
26559
26560       • Type: string
26561
26562       • Default: ""
26563
26564   --koofr-setmtime
26565       Does the backend support setting modification time.
26566
26567       Set this to false if you use a mount ID that points  to  a  Dropbox  or
26568       Amazon Drive backend.
26569
26570       • Config: setmtime
26571
26572       • Env Var: RCLONE_KOOFR_SETMTIME
26573
26574       • Type: bool
26575
26576       • Default: true
26577
26578   --koofr-encoding
26579       This sets the encoding for the backend.
26580
26581       See  the  encoding  section  in  the overview (https://rclone.org/over
26582       view/#encoding) for more info.
26583
26584       • Config: encoding
26585
26586       • Env Var: RCLONE_KOOFR_ENCODING
26587
26588       • Type: MultiEncoder
26589
26590       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
26591
26592   Limitations
26593       Note that Koofr is case insensitive so you can't  have  a  file  called
26594       "Hello.doc" and one called "hello.doc".
26595

Mail.ru Cloud

26597       Mail.ru Cloud (https://cloud.mail.ru/) is a cloud storage provided by a
26598       Russian internet company Mail.Ru Group (https://mail.ru).  The official
26599       desktop  client is Disk-O: (https://disk-o.cloud/en), available on Win‐
26600       dows and Mac OS.
26601
26602       Currently it is recommended to disable 2FA on Mail.ru accounts intended
26603       for rclone until it gets eventually implemented.
26604
26605   Features highlights
26606       • Paths may be as deep as required, e.g.  remote:directory/subdirectory
26607
26608       • Files have a last modified time property, directories don't
26609
26610       • Deleted files are by default moved to the trash
26611
26612       • Files and directories can be shared via public links
26613
26614       • Partial  uploads  or  streaming  are not supported, file size must be
26615         known before upload
26616
26617       • Maximum file size is limited to 2G for a free account, unlimited  for
26618         paid accounts
26619
26620       • Storage  keeps hash for all files and performs transparent deduplica‐
26621         tion, the hash algorithm is a modified SHA1
26622
26623       • If a particular file is already present in storage, one  can  quickly
26624         submit  file  hash  instead of long file upload (this optimization is
26625         supported by rclone)
26626
26627   Configuration
26628       Here is an example of making a mailru configuration.   First  create  a
26629       Mail.ru Cloud account and choose a tariff, then run
26630
26631              rclone config
26632
26633       This will guide you through an interactive setup process:
26634
26635              No remotes found - make a new one
26636              n) New remote
26637              s) Set configuration password
26638              q) Quit config
26639              n/s/q> n
26640              name> remote
26641              Type of storage to configure.
26642              Type of storage to configure.
26643              Enter a string value. Press Enter for the default ("").
26644              Choose a number from below, or type in your own value
26645              [snip]
26646              XX / Mail.ru Cloud
26647                 \ "mailru"
26648              [snip]
26649              Storage> mailru
26650              User name (usually email)
26651              Enter a string value. Press Enter for the default ("").
26652              user> username@mail.ru
26653              Password
26654              y) Yes type in my own password
26655              g) Generate random password
26656              y/g> y
26657              Enter the password:
26658              password:
26659              Confirm the password:
26660              password:
26661              Skip full upload if there is another file with same data hash.
26662              This feature is called "speedup" or "put by hash". It is especially efficient
26663              in case of generally available files like popular books, video or audio clips
26664              [snip]
26665              Enter a boolean value (true or false). Press Enter for the default ("true").
26666              Choose a number from below, or type in your own value
26667               1 / Enable
26668                 \ "true"
26669               2 / Disable
26670                 \ "false"
26671              speedup_enable> 1
26672              Edit advanced config? (y/n)
26673              y) Yes
26674              n) No
26675              y/n> n
26676              Remote config
26677              --------------------
26678              [remote]
26679              type = mailru
26680              user = username@mail.ru
26681              pass = *** ENCRYPTED ***
26682              speedup_enable = true
26683              --------------------
26684              y) Yes this is OK
26685              e) Edit this remote
26686              d) Delete this remote
26687              y/e/d> y
26688
26689       Configuration  of  this  backend  does not require a local web browser.
26690       You can use the configured backend as shown below:
26691
26692       See top level directories
26693
26694              rclone lsd remote:
26695
26696       Make a new directory
26697
26698              rclone mkdir remote:directory
26699
26700       List the contents of a directory
26701
26702              rclone ls remote:directory
26703
26704       Sync /home/local/directory to the  remote  path,  deleting  any  excess
26705       files in the path.
26706
26707              rclone sync -i /home/local/directory remote:directory
26708
26709   Modified time
26710       Files  support a modification time attribute with up to 1 second preci‐
26711       sion.  Directories do not have a modification time, which is  shown  as
26712       "Jan 1 1970".
26713
26714   Hash checksums
26715       Hash  sums  use a custom Mail.ru algorithm based on SHA1.  If file size
26716       is less than or equal to the SHA1 block size (20 bytes),  its  hash  is
26717       simply  its  data  right-padded  with zero bytes.  Hash sum of a larger
26718       file is computed as a SHA1 sum of the file data bytes concatenated with
26719       a decimal representation of the data length.
26720
26721   Emptying Trash
26722       Removing  a  file or directory actually moves it to the trash, which is
26723       not visible to rclone but can be seen in a web  browser.   The  trashed
26724       file  still  occupies  part  of total quota.  If you wish to empty your
26725       trash and free some quota, you can use the rclone cleanup remote:  com‐
26726       mand,  which will permanently delete all your trashed files.  This com‐
26727       mand does not take any path arguments.
26728
26729   Quota information
26730       To view your current quota you can use the rclone about remote: command
26731       which will display your usage limit (quota) and the current usage.
26732
26733   Restricted filename characters
26734       In    addition    to    the    default    restricted   characters   set
26735       (https://rclone.org/overview/#restricted-characters)   the    following
26736       characters are also replaced:
26737
26738       Character   Value   Replacement
26739       ────────────────────────────────
26740       "           0x22        "
26741       *           0x2A        *
26742       :           0x3A        :
26743       <           0x3C        <
26744       >           0x3E        >
26745       ?           0x3F        ?
26746       \           0x5C        \
26747       |           0x7C        |
26748
26749       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
26750       view/#invalid-utf8), as they can't be used in JSON strings.
26751
26752   Standard options
26753       Here are the standard options specific to mailru (Mail.ru Cloud).
26754
26755   --mailru-user
26756       User name (usually email).
26757
26758       • Config: user
26759
26760       • Env Var: RCLONE_MAILRU_USER
26761
26762       • Type: string
26763
26764       • Default: ""
26765
26766   --mailru-pass
26767       Password.
26768
26769       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
26770       (https://rclone.org/commands/rclone_obscure/).
26771
26772       • Config: pass
26773
26774       • Env Var: RCLONE_MAILRU_PASS
26775
26776       • Type: string
26777
26778       • Default: ""
26779
26780   --mailru-speedup-enable
26781       Skip full upload if there is another file with same data hash.
26782
26783       This  feature  is  called "speedup" or "put by hash".  It is especially
26784       efficient in case of generally  available  files  like  popular  books,
26785       video  or  audio  clips,  because files are searched by hash in all ac‐
26786       counts of all mailru users.   It  is  meaningless  and  ineffective  if
26787       source  file  is unique or encrypted.  Please note that rclone may need
26788       local memory and disk space to calculate content hash  in  advance  and
26789       decide  whether full upload is required.  Also, if rclone does not know
26790       file size in advance (e.g.  in case of streaming or  partial  uploads),
26791       it will not even try this optimization.
26792
26793       • Config: speedup_enable
26794
26795       • Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
26796
26797       • Type: bool
26798
26799       • Default: true
26800
26801       • Examples:
26802
26803         • "true"
26804
26805           • Enable
26806
26807         • "false"
26808
26809           • Disable
26810
26811   Advanced options
26812       Here are the advanced options specific to mailru (Mail.ru Cloud).
26813
26814   --mailru-speedup-file-patterns
26815       Comma separated list of file name patterns eligible for speedup (put by
26816       hash).
26817
26818       Patterns are case insensitive and can contain '*' or '?'  meta  charac‐
26819       ters.
26820
26821       • Config: speedup_file_patterns
26822
26823       • Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
26824
26825       • Type: string
26826
26827       • Default: ".mkv,.avi,.mp4,.mp3,.zip,.gz,.rar,.pdf"
26828
26829       • Examples:
26830
26831         • ""
26832
26833           • Empty list completely disables speedup (put by hash).
26834
26835         • "*"
26836
26837           • All files will be attempted for speedup.
26838
26839         • ".mkv,.avi,.mp4,.mp3"
26840
26841           • Only common audio/video files will be tried for put by hash.
26842
26843         • ".zip,.gz,.rar,.pdf"
26844
26845           • Only common archives or PDF books will be tried for speedup.
26846
26847   --mailru-speedup-max-disk
26848       This  option  allows  you  to  disable  speedup (put by hash) for large
26849       files.
26850
26851       Reason is that preliminary hashing can exhaust your RAM or disk space.
26852
26853       • Config: speedup_max_disk
26854
26855       • Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
26856
26857       • Type: SizeSuffix
26858
26859       • Default: 3Gi
26860
26861       • Examples:
26862
26863         • "0"
26864
26865           • Completely disable speedup (put by hash).
26866
26867         • "1G"
26868
26869           • Files larger than 1Gb will be uploaded directly.
26870
26871         • "3G"
26872
26873           • Choose this option if you have less than 3Gb free on local disk.
26874
26875   --mailru-speedup-max-memory
26876       Files larger than the size given below will always be hashed on disk.
26877
26878       • Config: speedup_max_memory
26879
26880       • Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
26881
26882       • Type: SizeSuffix
26883
26884       • Default: 32Mi
26885
26886       • Examples:
26887
26888         • "0"
26889
26890           • Preliminary hashing will always be done in a temporary disk loca‐
26891             tion.
26892
26893         • "32M"
26894
26895           • Do not dedicate more than 32Mb RAM for preliminary hashing.
26896
26897         • "256M"
26898
26899           • You have at most 256Mb RAM free for hash calculations.
26900
26901   --mailru-check-hash
26902       What should copy do if file checksum is mismatched or invalid.
26903
26904       • Config: check_hash
26905
26906       • Env Var: RCLONE_MAILRU_CHECK_HASH
26907
26908       • Type: bool
26909
26910       • Default: true
26911
26912       • Examples:
26913
26914         • "true"
26915
26916           • Fail with error.
26917
26918         • "false"
26919
26920           • Ignore and continue.
26921
26922   --mailru-user-agent
26923       HTTP user agent used internally by client.
26924
26925       Defaults  to  "rclone/VERSION"  or  "--user-agent"  provided on command
26926       line.
26927
26928       • Config: user_agent
26929
26930       • Env Var: RCLONE_MAILRU_USER_AGENT
26931
26932       • Type: string
26933
26934       • Default: ""
26935
26936   --mailru-quirks
26937       Comma separated list of internal maintenance flags.
26938
26939       This option must not be used by an ordinary user.  It is intended  only
26940       to facilitate remote troubleshooting of backend issues.  Strict meaning
26941       of flags is not documented and not guaranteed to  persist  between  re‐
26942       leases.   Quirks  will  be removed when the backend grows stable.  Sup‐
26943       ported quirks: atomicmkdir binlist unknowndirs
26944
26945       • Config: quirks
26946
26947       • Env Var: RCLONE_MAILRU_QUIRKS
26948
26949       • Type: string
26950
26951       • Default: ""
26952
26953   --mailru-encoding
26954       This sets the encoding for the backend.
26955
26956       See the encoding  section  in  the  overview  (https://rclone.org/over
26957       view/#encoding) for more info.
26958
26959       • Config: encoding
26960
26961       • Env Var: RCLONE_MAILRU_ENCODING
26962
26963       • Type: MultiEncoder
26964
26965       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
26966         Slash,Del,Ctl,InvalidUtf8,Dot
26967
26968   Limitations
26969       File size limits depend on your account.  A single file size is limited
26970       by  2G for a free account and unlimited for paid tariffs.  Please refer
26971       to the Mail.ru site for the total uploaded size limits.
26972
26973       Note that Mailru is case insensitive so you can't have  a  file  called
26974       "Hello.doc" and one called "hello.doc".
26975

Mega

26977       Mega  (https://mega.nz/)  is  a  cloud storage and file hosting service
26978       known for its security feature where all files  are  encrypted  locally
26979       before they are uploaded.  This prevents anyone (including employees of
26980       Mega) from accessing the files without knowledge of the  key  used  for
26981       encryption.
26982
26983       This  is  an  rclone  backend for Mega which supports the file transfer
26984       features of Mega using the same client side encryption.
26985
26986       Paths are specified as remote:path
26987
26988       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26989
26990   Configuration
26991       Here is an example of how to make a remote called remote.  First run:
26992
26993               rclone config
26994
26995       This will guide you through an interactive setup process:
26996
26997              No remotes found - make a new one
26998              n) New remote
26999              s) Set configuration password
27000              q) Quit config
27001              n/s/q> n
27002              name> remote
27003              Type of storage to configure.
27004              Choose a number from below, or type in your own value
27005              [snip]
27006              XX / Mega
27007                 \ "mega"
27008              [snip]
27009              Storage> mega
27010              User name
27011              user> you@example.com
27012              Password.
27013              y) Yes type in my own password
27014              g) Generate random password
27015              n) No leave this optional password blank
27016              y/g/n> y
27017              Enter the password:
27018              password:
27019              Confirm the password:
27020              password:
27021              Remote config
27022              --------------------
27023              [remote]
27024              type = mega
27025              user = you@example.com
27026              pass = *** ENCRYPTED ***
27027              --------------------
27028              y) Yes this is OK
27029              e) Edit this remote
27030              d) Delete this remote
27031              y/e/d> y
27032
27033       NOTE: The encryption keys need to have been already generated  after  a
27034       regular  login via the browser, otherwise attempting to use the creden‐
27035       tials in rclone will fail.
27036
27037       Once configured you can then use rclone like this,
27038
27039       List directories in top level of your Mega
27040
27041              rclone lsd remote:
27042
27043       List all the files in your Mega
27044
27045              rclone ls remote:
27046
27047       To copy a local directory to an Mega directory called backup
27048
27049              rclone copy /home/source remote:backup
27050
27051   Modified time and hashes
27052       Mega does not support modification times or hashes yet.
27053
27054   Restricted filename characters
27055       Character   Value   Replacement
27056       ────────────────────────────────
27057       NUL         0x00         ␀
27058       /           0x2F        /
27059
27060       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
27061       view/#invalid-utf8), as they can't be used in JSON strings.
27062
27063   Duplicated files
27064       Mega  can  have two files with exactly the same name and path (unlike a
27065       normal file system).
27066
27067       Duplicated files cause problems with the syncing and you will see  mes‐
27068       sages in the log about duplicates.
27069
27070       Use rclone dedupe to fix duplicated files.
27071
27072   Failure to log-in
27073       Mega remotes seem to get blocked (reject logins) under "heavy use".  We
27074       haven't worked out the exact blocking rules but it seems to be  related
27075       to fast paced, successive rclone commands.
27076
27077       For  example,  executing this command 90 times in a row rclone link re‐
27078       mote:file will cause the remote to become "blocked".  This  is  not  an
27079       abnormal  situation, for example if you wish to get the public links of
27080       a directory with hundred of files...  After more or less  a  week,  the
27081       remote will remote accept rclone logins normally again.
27082
27083       You  can  mitigate  this  issue  by  mounting the remote it with rclone
27084       mount.  This will log-in when mounting and a  log-out  when  unmounting
27085       only.   You  can  also run rclone rcd and then use rclone rc to run the
27086       commands over the API to avoid logging in each time.
27087
27088       Rclone does not currently close mega sessions (you can see them in  the
27089       web interface), however closing the sessions does not solve the issue.
27090
27091       If  you  space  rclone commands by 3 seconds it will avoid blocking the
27092       remote.  We haven't identified the exact blocking rules, so perhaps one
27093       could  execute  the command 80 times without waiting and avoid blocking
27094       by waiting 3 seconds, then continuing...
27095
27096       Note that this has been observed by trial and error and  might  not  be
27097       set in stone.
27098
27099       Other  tools  seem  not  to produce this blocking effect, as they use a
27100       different working approach (state-based, using  sessionIDs  instead  of
27101       log-in)  which  isn't  compatible with the current stateless rclone ap‐
27102       proach.
27103
27104       Note that once blocked, the use of other tools (such as megacmd) is not
27105       a  sure workaround: following megacmd login times have been observed in
27106       succession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min.
27107       Web access looks unaffected though.
27108
27109       Investigation  is  continuing in relation to workarounds based on time‐
27110       outs, pacers, retrials and tpslimits - if you discover something  rele‐
27111       vant, please post on the forum.
27112
27113       So,  if rclone was working nicely and suddenly you are unable to log-in
27114       and you are sure the user and the password are correct, likely you have
27115       got the remote blocked for a while.
27116
27117   Standard options
27118       Here are the standard options specific to mega (Mega).
27119
27120   --mega-user
27121       User name.
27122
27123       • Config: user
27124
27125       • Env Var: RCLONE_MEGA_USER
27126
27127       • Type: string
27128
27129       • Default: ""
27130
27131   --mega-pass
27132       Password.
27133
27134       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
27135       (https://rclone.org/commands/rclone_obscure/).
27136
27137       • Config: pass
27138
27139       • Env Var: RCLONE_MEGA_PASS
27140
27141       • Type: string
27142
27143       • Default: ""
27144
27145   Advanced options
27146       Here are the advanced options specific to mega (Mega).
27147
27148   --mega-debug
27149       Output more debug from Mega.
27150
27151       If this flag is set (along with -vv) it will  print  further  debugging
27152       information from the mega backend.
27153
27154       • Config: debug
27155
27156       • Env Var: RCLONE_MEGA_DEBUG
27157
27158       • Type: bool
27159
27160       • Default: false
27161
27162   --mega-hard-delete
27163       Delete files permanently rather than putting them into the trash.
27164
27165       Normally  the mega backend will put all deletions into the trash rather
27166       than permanently deleting them.  If you specify this then  rclone  will
27167       permanently delete objects instead.
27168
27169       • Config: hard_delete
27170
27171       • Env Var: RCLONE_MEGA_HARD_DELETE
27172
27173       • Type: bool
27174
27175       • Default: false
27176
27177   --mega-encoding
27178       This sets the encoding for the backend.
27179
27180       See  the  encoding  section  in  the overview (https://rclone.org/over
27181       view/#encoding) for more info.
27182
27183       • Config: encoding
27184
27185       • Env Var: RCLONE_MEGA_ENCODING
27186
27187       • Type: MultiEncoder
27188
27189       • Default: Slash,InvalidUtf8,Dot
27190
27191   Limitations
27192       This      backend      uses      the      go-mega      go       library
27193       (https://github.com/t3rm1n4l/go-mega) which is an opensource go library
27194       implementing the Mega API.  There doesn't appear to be  any  documenta‐
27195       tion    for    the    mega   protocol   beyond   the   mega   C++   SDK
27196       (https://github.com/meganz/sdk) source code so there are likely quite a
27197       few errors still remaining in this library.
27198
27199       Mega allows duplicate files which may confuse rclone.
27200

Memory

27202       The  memory backend is an in RAM backend.  It does not persist its data
27203       - use the local backend for that.
27204
27205       The memory backend behaves like a bucket based remote (e.g.  like  s3).
27206       Because  it has no parameters you can just use it with the :memory: re‐
27207       mote name.
27208
27209   Configuration
27210       You can configure it as a remote like this with rclone  config  too  if
27211       you want to:
27212
27213              No remotes found - make a new one
27214              n) New remote
27215              s) Set configuration password
27216              q) Quit config
27217              n/s/q> n
27218              name> remote
27219              Type of storage to configure.
27220              Enter a string value. Press Enter for the default ("").
27221              Choose a number from below, or type in your own value
27222              [snip]
27223              XX / Memory
27224                 \ "memory"
27225              [snip]
27226              Storage> memory
27227              ** See help for memory backend at: https://rclone.org/memory/ **
27228
27229              Remote config
27230
27231              --------------------
27232              [remote]
27233              type = memory
27234              --------------------
27235              y) Yes this is OK (default)
27236              e) Edit this remote
27237              d) Delete this remote
27238              y/e/d> y
27239
27240       Because the memory backend isn't persistent it is most useful for test‐
27241       ing or with an rclone server or rclone mount, e.g.
27242
27243              rclone mount :memory: /mnt/tmp
27244              rclone serve webdav :memory:
27245              rclone serve sftp :memory:
27246
27247   Modified time and hashes
27248       The memory backend supports MD5 hashes and modification times  accurate
27249       to 1 nS.
27250
27251   Restricted filename characters
27252       The  memory  backend  replaces  the  default  restricted characters set
27253       (https://rclone.org/overview/#restricted-characters).
27254

Microsoft Azure Blob Storage

27256       Paths are specified as remote:container (or remote: for  the  lsd  com‐
27257       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
27258       er/path/to/dir.
27259
27260   Configuration
27261       Here is an example of making a Microsoft Azure Blob Storage  configura‐
27262       tion.  For a remote called remote.  First run:
27263
27264               rclone config
27265
27266       This will guide you through an interactive setup process:
27267
27268              No remotes found - make a new one
27269              n) New remote
27270              s) Set configuration password
27271              q) Quit config
27272              n/s/q> n
27273              name> remote
27274              Type of storage to configure.
27275              Choose a number from below, or type in your own value
27276              [snip]
27277              XX / Microsoft Azure Blob Storage
27278                 \ "azureblob"
27279              [snip]
27280              Storage> azureblob
27281              Storage Account Name
27282              account> account_name
27283              Storage Account Key
27284              key> base64encodedkey==
27285              Endpoint for the service - leave blank normally.
27286              endpoint>
27287              Remote config
27288              --------------------
27289              [remote]
27290              account = account_name
27291              key = base64encodedkey==
27292              endpoint =
27293              --------------------
27294              y) Yes this is OK
27295              e) Edit this remote
27296              d) Delete this remote
27297              y/e/d> y
27298
27299       See all containers
27300
27301              rclone lsd remote:
27302
27303       Make a new container
27304
27305              rclone mkdir remote:container
27306
27307       List the contents of a container
27308
27309              rclone ls remote:container
27310
27311       Sync /home/local/directory to the remote container, deleting any excess
27312       files in the container.
27313
27314              rclone sync -i /home/local/directory remote:container
27315
27316   --fast-list
27317       This remote supports --fast-list which allows you to use fewer transac‐
27318       tions   in   exchange   for   more   memory.    See   the  rclone  docs
27319       (https://rclone.org/docs/#fast-list) for more details.
27320
27321   Modified time
27322       The modified time is stored as metadata on the object  with  the  mtime
27323       key.  It is stored using RFC3339 Format time with nanosecond precision.
27324       The metadata is supplied during directory listings so there is no over‐
27325       head to using it.
27326
27327   Restricted filename characters
27328       In    addition    to    the    default    restricted   characters   set
27329       (https://rclone.org/overview/#restricted-characters)   the    following
27330       characters are also replaced:
27331
27332       Character   Value   Replacement
27333       ────────────────────────────────
27334       /           0x2F        /
27335       \           0x5C        \
27336
27337       File  names can also not end with the following characters.  These only
27338       get replaced if they are the last character in the name:
27339
27340       Character   Value   Replacement
27341       ────────────────────────────────
27342       .           0x2E        .
27343
27344       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
27345       view/#invalid-utf8), as they can't be used in JSON strings.
27346
27347   Hashes
27348       MD5  hashes are stored with blobs.  However blobs that were uploaded in
27349       chunks only have an MD5 if the source remote was capable of MD5 hashes,
27350       e.g.  the local disk.
27351
27352   Authenticating with Azure Blob Storage
27353       Rclone has 3 ways of authenticating with Azure Blob Storage:
27354
27355   Account and Key
27356       This is the most straight forward and least flexible way.  Just fill in
27357       the account and key lines and leave the rest blank.
27358
27359   SAS URL
27360       This can be an account level SAS URL or container level SAS URL.
27361
27362       To use it leave account, key blank and fill in sas_url.
27363
27364       An account level SAS URL or container level SAS  URL  can  be  obtained
27365       from the Azure portal or the Azure Storage Explorer.  To get a contain‐
27366       er level SAS URL right click on a container in the Azure Blob  explorer
27367       in the Azure portal.
27368
27369       If  you  use a container level SAS URL, rclone operations are permitted
27370       only on a particular container, e.g.
27371
27372              rclone ls azureblob:container
27373
27374       You can also list the single container from the root.  This  will  only
27375       show the container specified by the SAS URL.
27376
27377              $ rclone lsd azureblob:
27378              container/
27379
27380       Note that you can't see or access any other containers - this will fail
27381
27382              rclone ls azureblob:othercontainer
27383
27384       Container level SAS URLs are useful for temporarily allowing third par‐
27385       ties access to a single container or putting credentials  into  an  un‐
27386       trusted environment such as a CI build server.
27387
27388   Standard options
27389       Here  are  the  standard options specific to azureblob (Microsoft Azure
27390       Blob Storage).
27391
27392   --azureblob-account
27393       Storage Account Name.
27394
27395       Leave blank to use SAS URL or Emulator.
27396
27397       • Config: account
27398
27399       • Env Var: RCLONE_AZUREBLOB_ACCOUNT
27400
27401       • Type: string
27402
27403       • Default: ""
27404
27405   --azureblob-service-principal-file
27406       Path to file containing credentials for use with a service principal.
27407
27408       Leave blank normally.  Needed only if you want to use a service princi‐
27409       pal instead of interactive login.
27410
27411              $ az ad sp create-for-rbac --name "<name>" \
27412                --role "Storage Blob Data Owner" \
27413                --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \
27414                > azure-principal.json
27415
27416       See "Create an Azure service principal" (https://docs.microsoft.com/en-
27417       us/cli/azure/create-an-azure-service-principal-azure-cli)  and  "Assign
27418       an  Azure role for access to blob data" (https://docs.microsoft.com/en-
27419       us/azure/storage/common/storage-auth-aad-rbac-cli) pages for  more  de‐
27420       tails.
27421
27422       • Config: service_principal_file
27423
27424       • Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
27425
27426       • Type: string
27427
27428       • Default: ""
27429
27430   --azureblob-key
27431       Storage Account Key.
27432
27433       Leave blank to use SAS URL or Emulator.
27434
27435       • Config: key
27436
27437       • Env Var: RCLONE_AZUREBLOB_KEY
27438
27439       • Type: string
27440
27441       • Default: ""
27442
27443   --azureblob-sas-url
27444       SAS URL for container level access only.
27445
27446       Leave blank if using account/key or Emulator.
27447
27448       • Config: sas_url
27449
27450       • Env Var: RCLONE_AZUREBLOB_SAS_URL
27451
27452       • Type: string
27453
27454       • Default: ""
27455
27456   --azureblob-use-msi
27457       Use a managed service identity to authenticate (only works in Azure).
27458
27459       When   true,   use  a  managed  service  identity  (https://docs.micro
27460       soft.com/en-us/azure/active-directory/managed-identities-azure-re‐
27461       sources/)  to  authenticate  to Azure Storage instead of a SAS token or
27462       account key.
27463
27464       If the VM(SS) on which this program is running  has  a  system-assigned
27465       identity,  it  will  be  used  by default.  If the resource has no sys‐
27466       tem-assigned but exactly one user-assigned identity, the  user-assigned
27467       identity  will  be  used  by default.  If the resource has multiple us‐
27468       er-assigned identities, the identity to use must be  explicitly  speci‐
27469       fied   using  exactly  one  of  the  msi_object_id,  msi_client_id,  or
27470       msi_mi_res_id parameters.
27471
27472       • Config: use_msi
27473
27474       • Env Var: RCLONE_AZUREBLOB_USE_MSI
27475
27476       • Type: bool
27477
27478       • Default: false
27479
27480   --azureblob-use-emulator
27481       Uses local storage emulator if provided as 'true'.
27482
27483       Leave blank if using real azure storage endpoint.
27484
27485       • Config: use_emulator
27486
27487       • Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
27488
27489       • Type: bool
27490
27491       • Default: false
27492
27493   Advanced options
27494       Here are the advanced options specific to  azureblob  (Microsoft  Azure
27495       Blob Storage).
27496
27497   --azureblob-msi-object-id
27498       Object ID of the user-assigned MSI to use, if any.
27499
27500       Leave blank if msi_client_id or msi_mi_res_id specified.
27501
27502       • Config: msi_object_id
27503
27504       • Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID
27505
27506       • Type: string
27507
27508       • Default: ""
27509
27510   --azureblob-msi-client-id
27511       Object ID of the user-assigned MSI to use, if any.
27512
27513       Leave blank if msi_object_id or msi_mi_res_id specified.
27514
27515       • Config: msi_client_id
27516
27517       • Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID
27518
27519       • Type: string
27520
27521       • Default: ""
27522
27523   --azureblob-msi-mi-res-id
27524       Azure resource ID of the user-assigned MSI to use, if any.
27525
27526       Leave blank if msi_client_id or msi_object_id specified.
27527
27528       • Config: msi_mi_res_id
27529
27530       • Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID
27531
27532       • Type: string
27533
27534       • Default: ""
27535
27536   --azureblob-endpoint
27537       Endpoint for the service.
27538
27539       Leave blank normally.
27540
27541       • Config: endpoint
27542
27543       • Env Var: RCLONE_AZUREBLOB_ENDPOINT
27544
27545       • Type: string
27546
27547       • Default: ""
27548
27549   --azureblob-upload-cutoff
27550       Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).
27551
27552       • Config: upload_cutoff
27553
27554       • Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
27555
27556       • Type: string
27557
27558       • Default: ""
27559
27560   --azureblob-chunk-size
27561       Upload chunk size (<= 100 MiB).
27562
27563       Note that this is stored in memory and there may be up to "--transfers"
27564       chunks stored at once in memory.
27565
27566       • Config: chunk_size
27567
27568       • Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
27569
27570       • Type: SizeSuffix
27571
27572       • Default: 4Mi
27573
27574   --azureblob-list-chunk
27575       Size of blob list.
27576
27577       This sets the number of blobs requested in each listing chunk.  Default
27578       is  the  maximum,  5000.  "List blobs" requests are permitted 2 minutes
27579       per megabyte to complete.  If an operation is taking longer than 2 min‐
27580       utes   per   megabyte   on   average,   it   will  time  out  (  source
27581       (https://docs.microsoft.com/en-us/rest/api/storageservices/setting-
27582       timeouts-for-blob-service-operations#exceptions-to-default-timeout-in‐
27583       terval) ).  This can be used to limit the number of blobs items to  re‐
27584       turn, to avoid the time out.
27585
27586       • Config: list_chunk
27587
27588       • Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
27589
27590       • Type: int
27591
27592       • Default: 5000
27593
27594   --azureblob-access-tier
27595       Access tier of blob: hot, cool or archive.
27596
27597       Archived  blobs  can be restored by setting access tier to hot or cool.
27598       Leave blank if you intend to use default access tier, which is  set  at
27599       account level
27600
27601       If  there is no "access tier" specified, rclone doesn't apply any tier.
27602       rclone performs "Set Tier" operation on blobs while uploading,  if  ob‐
27603       jects  are  not modified, specifying "access tier" to new one will have
27604       no effect.  If blobs are in "archive tier" at remote, trying to perform
27605       data  transfer operations from remote will not be allowed.  User should
27606       first restore by tiering blob to "Hot" or "Cool".
27607
27608       • Config: access_tier
27609
27610       • Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
27611
27612       • Type: string
27613
27614       • Default: ""
27615
27616   --azureblob-archive-tier-delete
27617       Delete archive tier blobs before overwriting.
27618
27619       Archive tier blobs cannot be updated.  So without this flag, if you at‐
27620       tempt  to update an archive tier blob, then rclone will produce the er‐
27621       ror:
27622
27623              can't update archive tier blob without --azureblob-archive-tier-delete
27624
27625       With this flag set then before rclone attempts to overwrite an  archive
27626       tier  blob,  it  will delete the existing blob before uploading its re‐
27627       placement.  This has the potential for data loss if  the  upload  fails
27628       (unlike  updating  a normal blob) and also may cost more since deleting
27629       archive tier blobs early may be chargable.
27630
27631       • Config: archive_tier_delete
27632
27633       • Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
27634
27635       • Type: bool
27636
27637       • Default: false
27638
27639   --azureblob-disable-checksum
27640       Don't store MD5 checksum with object metadata.
27641
27642       Normally rclone will calculate the MD5 checksum of the input before up‐
27643       loading  it  so it can add it to metadata on the object.  This is great
27644       for data integrity checking but can cause long delays for  large  files
27645       to start uploading.
27646
27647       • Config: disable_checksum
27648
27649       • Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
27650
27651       • Type: bool
27652
27653       • Default: false
27654
27655   --azureblob-memory-pool-flush-time
27656       How often internal memory buffer pools will be flushed.
27657
27658       Uploads which requires additional buffers (f.e multipart) will use mem‐
27659       ory pool for allocations.  This option controls how often  unused  buf‐
27660       fers will be removed from the pool.
27661
27662       • Config: memory_pool_flush_time
27663
27664       • Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME
27665
27666       • Type: Duration
27667
27668       • Default: 1m0s
27669
27670   --azureblob-memory-pool-use-mmap
27671       Whether to use mmap buffers in internal memory pool.
27672
27673       • Config: memory_pool_use_mmap
27674
27675       • Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP
27676
27677       • Type: bool
27678
27679       • Default: false
27680
27681   --azureblob-encoding
27682       This sets the encoding for the backend.
27683
27684       See  the  encoding  section  in  the overview (https://rclone.org/over
27685       view/#encoding) for more info.
27686
27687       • Config: encoding
27688
27689       • Env Var: RCLONE_AZUREBLOB_ENCODING
27690
27691       • Type: MultiEncoder
27692
27693       • Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
27694
27695   --azureblob-public-access
27696       Public access level of a container: blob or container.
27697
27698       • Config: public_access
27699
27700       • Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS
27701
27702       • Type: string
27703
27704       • Default: ""
27705
27706       • Examples:
27707
27708         • ""
27709
27710           • The container and its blobs can be accessed only with  an  autho‐
27711             rized request.
27712
27713           • It's a default value.
27714
27715         • "blob"
27716
27717           • Blob  data  within  this  container can be read via anonymous re‐
27718             quest.
27719
27720         • "container"
27721
27722           • Allow full public read access for container and blob data.
27723
27724   --azureblob-no-head-object
27725       If set, do not do HEAD before GET when getting objects.
27726
27727       • Config: no_head_object
27728
27729       • Env Var: RCLONE_AZUREBLOB_NO_HEAD_OBJECT
27730
27731       • Type: bool
27732
27733       • Default: false
27734
27735   Limitations
27736       MD5 sums are only uploaded with chunked files if the source has an  MD5
27737       sum.  This will always be the case for a local to azure copy.
27738
27739       rclone about is not supported by the Microsoft Azure Blob storage back‐
27740       end.  Backends without this capability cannot determine free space  for
27741       an  rclone  mount or use policy mfs (most free space) as a member of an
27742       rclone union remote.
27743
27744       See   List   of   backends   that   do   not   support   rclone   about
27745       (https://rclone.org/overview/#optional-features)   See   rclone   about
27746       (https://rclone.org/commands/rclone_about/)
27747
27748   Azure Storage Emulator Support
27749       You can test rclone with storage emulator locally, to do this make sure
27750       azure  storage  emulator installed locally and set up a new remote with
27751       rclone  config  follow  instructions  described  in  introduction,  set
27752       use_emulator config as true, you do not need to provide default account
27753       name or key if using emulator.
27754

Microsoft OneDrive

27756       Paths are specified as remote:path
27757
27758       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
27759
27760   Configuration
27761       The initial setup for OneDrive involves getting a token from  Microsoft
27762       which  you need to do in your browser.  rclone config walks you through
27763       it.
27764
27765       Here is an example of how to make a remote called remote.  First run:
27766
27767               rclone config
27768
27769       This will guide you through an interactive setup process:
27770
27771              e) Edit existing remote
27772              n) New remote
27773              d) Delete remote
27774              r) Rename remote
27775              c) Copy remote
27776              s) Set configuration password
27777              q) Quit config
27778              e/n/d/r/c/s/q> n
27779              name> remote
27780              Type of storage to configure.
27781              Enter a string value. Press Enter for the default ("").
27782              Choose a number from below, or type in your own value
27783              [snip]
27784              XX / Microsoft OneDrive
27785                 \ "onedrive"
27786              [snip]
27787              Storage> onedrive
27788              Microsoft App Client Id
27789              Leave blank normally.
27790              Enter a string value. Press Enter for the default ("").
27791              client_id>
27792              Microsoft App Client Secret
27793              Leave blank normally.
27794              Enter a string value. Press Enter for the default ("").
27795              client_secret>
27796              Edit advanced config? (y/n)
27797              y) Yes
27798              n) No
27799              y/n> n
27800              Remote config
27801              Use auto config?
27802               * Say Y if not sure
27803               * Say N if you are working on a remote or headless machine
27804              y) Yes
27805              n) No
27806              y/n> y
27807              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
27808              Log in and authorize rclone for access
27809              Waiting for code...
27810              Got code
27811              Choose a number from below, or type in an existing value
27812               1 / OneDrive Personal or Business
27813                 \ "onedrive"
27814               2 / Sharepoint site
27815                 \ "sharepoint"
27816               3 / Type in driveID
27817                 \ "driveid"
27818               4 / Type in SiteID
27819                 \ "siteid"
27820               5 / Search a Sharepoint site
27821                 \ "search"
27822              Your choice> 1
27823              Found 1 drives, please select the one you want to use:
27824              0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
27825              Chose drive to use:> 0
27826              Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
27827              Is that okay?
27828              y) Yes
27829              n) No
27830              y/n> y
27831              --------------------
27832              [remote]
27833              type = onedrive
27834              token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
27835              drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
27836              drive_type = business
27837              --------------------
27838              y) Yes this is OK
27839              e) Edit this remote
27840              d) Delete this remote
27841              y/e/d> y
27842
27843       See the remote setup docs (https://rclone.org/remote_setup/) for how to
27844       set it up on a machine with no Internet browser available.
27845
27846       Note  that rclone runs a webserver on your local machine to collect the
27847       token as returned from Microsoft.  This only runs from  the  moment  it
27848       opens  your  browser  to the moment you get back the verification code.
27849       This is on http://127.0.0.1:53682/ and this it may require you  to  un‐
27850       block it temporarily if you are running a host firewall.
27851
27852       Once configured you can then use rclone like this,
27853
27854       List directories in top level of your OneDrive
27855
27856              rclone lsd remote:
27857
27858       List all the files in your OneDrive
27859
27860              rclone ls remote:
27861
27862       To copy a local directory to an OneDrive directory called backup
27863
27864              rclone copy /home/source remote:backup
27865
27866   Getting your own Client ID and Key
27867       You  can  use  your own Client ID if the default (client_id left blank)
27868       one doesn't work for you or you see lots of  throttling.   The  default
27869       Client  ID  and  Key  is shared by all rclone users when performing re‐
27870       quests.
27871
27872       If you are having problems with them (E.g.,  seeing  a  lot  of  throt‐
27873       tling),  you  can get your own Client ID and Key by following the steps
27874       below:
27875
27876       1. Open            https://portal.azure.com/#blade/Microsoft_AAD_Regis‐
27877          teredApps/ApplicationsListBlade and then click New registration.
27878
27879       2. Enter a name for your app, choose account type Accounts in any orga‐
27880          nizational directory (Any Azure AD directory - Multitenant) and per‐
27881          sonal  Microsoft accounts (e.g. Skype, Xbox), select Web in Redirect
27882          URI, then type (do not copy and paste)  http://localhost:53682/  and
27883          click Register.  Copy and keep the Application (client) ID under the
27884          app name for later use.
27885
27886       3. Under manage select Certificates & secrets, click New client secret.
27887          Enter  a description (can be anything) and set Expires to 24 months.
27888          Copy and keep that secret Value for later use (you won't be able  to
27889          see this value afterwards).
27890
27891       4. Under  manage select API permissions, click Add a permission and se‐
27892          lect Microsoft Graph then select delegated permissions.
27893
27894       5. Search and select the following permissions: Files.Read, Files.Read‐
27895          Write,   Files.Read.All,  Files.ReadWrite.All,  offline_access,  Us‐
27896          er.Read.  Once selected click Add permissions at the bottom.
27897
27898       Now the application is complete.  Run rclone config to create or edit a
27899       OneDrive  remote.   Supply the app ID and password as Client ID and Se‐
27900       cret, respectively.  rclone will walk you through the remaining steps.
27901
27902   Modification time and hashes
27903       OneDrive allows modification times to be set on objects accurate  to  1
27904       second.   These  will be used to detect whether objects need syncing or
27905       not.
27906
27907       OneDrive personal supports SHA1 type hashes.  OneDrive for business and
27908       Sharepoint  Server support QuickXorHash (https://docs.microsoft.com/en-
27909       us/onedrive/developer/code-snippets/quickxorhash).
27910
27911       For all types of OneDrive you can use the --checksum flag.
27912
27913   Restricted filename characters
27914       In   addition   to    the    default    restricted    characters    set
27915       (https://rclone.org/overview/#restricted-characters)    the   following
27916       characters are also replaced:
27917
27918       Character   Value   Replacement
27919       ────────────────────────────────
27920       "           0x22        "
27921       *           0x2A        *
27922       :           0x3A        :
27923       <           0x3C        <
27924       >           0x3E        >
27925       ?           0x3F        ?
27926       \           0x5C        \
27927       |           0x7C        |
27928
27929       File names can also not end with the following characters.  These  only
27930       get replaced if they are the last character in the name:
27931
27932       Character   Value   Replacement
27933       ────────────────────────────────
27934       SP          0x20         ␠
27935       .           0x2E        .
27936
27937       File names can also not begin with the following characters.  These on‐
27938       ly get replaced if they are the first character in the name:
27939
27940       Character   Value   Replacement
27941       ────────────────────────────────
27942       SP          0x20         ␠
27943       ~           0x7E        ~
27944
27945       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
27946       view/#invalid-utf8), as they can't be used in JSON strings.
27947
27948   Deleting files
27949       Any  files  you delete with rclone will end up in the trash.  Microsoft
27950       doesn't provide an API to permanently delete files, nor  to  empty  the
27951       trash,  so you will have to do that with one of Microsoft's apps or via
27952       the OneDrive website.
27953
27954   Standard options
27955       Here  are  the  standard  options  specific  to   onedrive   (Microsoft
27956       OneDrive).
27957
27958   --onedrive-client-id
27959       OAuth Client Id.
27960
27961       Leave blank normally.
27962
27963       • Config: client_id
27964
27965       • Env Var: RCLONE_ONEDRIVE_CLIENT_ID
27966
27967       • Type: string
27968
27969       • Default: ""
27970
27971   --onedrive-client-secret
27972       OAuth Client Secret.
27973
27974       Leave blank normally.
27975
27976       • Config: client_secret
27977
27978       • Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
27979
27980       • Type: string
27981
27982       • Default: ""
27983
27984   --onedrive-region
27985       Choose national cloud region for OneDrive.
27986
27987       • Config: region
27988
27989       • Env Var: RCLONE_ONEDRIVE_REGION
27990
27991       • Type: string
27992
27993       • Default: "global"
27994
27995       • Examples:
27996
27997         • "global"
27998
27999           • Microsoft Cloud Global
28000
28001         • "us"
28002
28003           • Microsoft Cloud for US Government
28004
28005         • "de"
28006
28007           • Microsoft Cloud Germany
28008
28009         • "cn"
28010
28011           • Azure and Office 365 operated by 21Vianet in China
28012
28013   Advanced options
28014       Here   are   the  advanced  options  specific  to  onedrive  (Microsoft
28015       OneDrive).
28016
28017   --onedrive-token
28018       OAuth Access Token as a JSON blob.
28019
28020       • Config: token
28021
28022       • Env Var: RCLONE_ONEDRIVE_TOKEN
28023
28024       • Type: string
28025
28026       • Default: ""
28027
28028   --onedrive-auth-url
28029       Auth server URL.
28030
28031       Leave blank to use the provider defaults.
28032
28033       • Config: auth_url
28034
28035       • Env Var: RCLONE_ONEDRIVE_AUTH_URL
28036
28037       • Type: string
28038
28039       • Default: ""
28040
28041   --onedrive-token-url
28042       Token server url.
28043
28044       Leave blank to use the provider defaults.
28045
28046       • Config: token_url
28047
28048       • Env Var: RCLONE_ONEDRIVE_TOKEN_URL
28049
28050       • Type: string
28051
28052       • Default: ""
28053
28054   --onedrive-chunk-size
28055       Chunk size to upload files with - must be  multiple  of  320k  (327,680
28056       bytes).
28057
28058       Above  this  size  files  will  be  chunked  - must be multiple of 320k
28059       (327,680 bytes) and should not exceed 250M (262,144,000 bytes) else you
28060       may encounter "Microsoft.SharePoint.Client.InvalidClientQueryException:
28061       The request message is too big." Note that the chunks will be  buffered
28062       into memory.
28063
28064       • Config: chunk_size
28065
28066       • Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
28067
28068       • Type: SizeSuffix
28069
28070       • Default: 10Mi
28071
28072   --onedrive-drive-id
28073       The ID of the drive to use.
28074
28075       • Config: drive_id
28076
28077       • Env Var: RCLONE_ONEDRIVE_DRIVE_ID
28078
28079       • Type: string
28080
28081       • Default: ""
28082
28083   --onedrive-drive-type
28084       The type of the drive (personal | business | documentLibrary).
28085
28086       • Config: drive_type
28087
28088       • Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
28089
28090       • Type: string
28091
28092       • Default: ""
28093
28094   --onedrive-expose-onenote-files
28095       Set to make OneNote files show up in directory listings.
28096
28097       By default rclone will hide OneNote files in directory listings because
28098       operations like "Open" and "Update" won't work on them.  But  this  be‐
28099       haviour may also prevent you from deleting them.  If you want to delete
28100       OneNote files or otherwise want them to show up in  directory  listing,
28101       set this option.
28102
28103       • Config: expose_onenote_files
28104
28105       • Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
28106
28107       • Type: bool
28108
28109       • Default: false
28110
28111   --onedrive-server-side-across-configs
28112       Allow  server-side  operations  (e.g.   copy)  to work across different
28113       onedrive configs.
28114
28115       This will only work if you are copying between  two  OneDrive  Personal
28116       drives AND the files to copy are already shared between them.  In other
28117       cases, rclone will fall back to normal copy  (which  will  be  slightly
28118       slower).
28119
28120       • Config: server_side_across_configs
28121
28122       • Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS
28123
28124       • Type: bool
28125
28126       • Default: false
28127
28128   --onedrive-list-chunk
28129       Size of listing chunk.
28130
28131       • Config: list_chunk
28132
28133       • Env Var: RCLONE_ONEDRIVE_LIST_CHUNK
28134
28135       • Type: int
28136
28137       • Default: 1000
28138
28139   --onedrive-no-versions
28140       Remove all versions on modifying operations.
28141
28142       Onedrive  for  business  creates versions when rclone uploads new files
28143       overwriting an existing one and when it sets the modification time.
28144
28145       These versions take up space out of the quota.
28146
28147       This flag checks for versions after file upload and  setting  modifica‐
28148       tion time and removes all but the last version.
28149
28150       NB  Onedrive personal can't currently delete versions so don't use this
28151       flag there.
28152
28153       • Config: no_versions
28154
28155       • Env Var: RCLONE_ONEDRIVE_NO_VERSIONS
28156
28157       • Type: bool
28158
28159       • Default: false
28160
28161   --onedrive-link-scope
28162       Set the scope of the links created by the link command.
28163
28164       • Config: link_scope
28165
28166       • Env Var: RCLONE_ONEDRIVE_LINK_SCOPE
28167
28168       • Type: string
28169
28170       • Default: "anonymous"
28171
28172       • Examples:
28173
28174         • "anonymous"
28175
28176           • Anyone with the link has access, without needing to sign in.
28177
28178           • This may include people outside of your organization.
28179
28180           • Anonymous link support may be disabled by an administrator.
28181
28182         • "organization"
28183
28184           • Anyone signed into your organization (tenant) can use the link to
28185             get access.
28186
28187           • Only available in OneDrive for Business and SharePoint.
28188
28189   --onedrive-link-type
28190       Set the type of the links created by the link command.
28191
28192       • Config: link_type
28193
28194       • Env Var: RCLONE_ONEDRIVE_LINK_TYPE
28195
28196       • Type: string
28197
28198       • Default: "view"
28199
28200       • Examples:
28201
28202         • "view"
28203
28204           • Creates a read-only link to the item.
28205
28206         • "edit"
28207
28208           • Creates a read-write link to the item.
28209
28210         • "embed"
28211
28212           • Creates an embeddable link to the item.
28213
28214   --onedrive-link-password
28215       Set the password for links created by the link command.
28216
28217       At  the time of writing this only works with OneDrive personal paid ac‐
28218       counts.
28219
28220       • Config: link_password
28221
28222       • Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD
28223
28224       • Type: string
28225
28226       • Default: ""
28227
28228   --onedrive-encoding
28229       This sets the encoding for the backend.
28230
28231       See the encoding  section  in  the  overview  (https://rclone.org/over
28232       view/#encoding) for more info.
28233
28234       • Config: encoding
28235
28236       • Env Var: RCLONE_ONEDRIVE_ENCODING
28237
28238       • Type: MultiEncoder
28239
28240       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
28241         Slash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,In‐
28242         validUtf8,Dot
28243
28244   Limitations
28245       If  you  don't  use  rclone  for 90 days the refresh token will expire.
28246       This will result in authorization problems.  This is  easy  to  fix  by
28247       running  the rclone config reconnect remote: command to get a new token
28248       and refresh token.
28249
28250   Naming
28251       Note that OneDrive is case insensitive so you can't have a file  called
28252       "Hello.doc" and one called "hello.doc".
28253
28254       There  are quite a few characters that can't be in OneDrive file names.
28255       These can't occur on Windows platforms, but  on  non-Windows  platforms
28256       they  are common.  Rclone will map these names to and from an identical
28257       looking unicode equivalent.  For example if a file has a ? in  it  will
28258       be mapped to ? instead.
28259
28260   File sizes
28261       The largest allowed file size is 250 GiB for both OneDrive Personal and
28262       OneDrive for Business (Updated  13  Jan  2021)  (https://support.micro
28263       soft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-
28264       and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-
28265       us&ad=us#individualfilesize).
28266
28267   Path length
28268       The  entire  path, including the file name, must contain fewer than 400
28269       characters for OneDrive, OneDrive for Business and  SharePoint  Online.
28270       If  you  are encrypting file and folder names with rclone, you may want
28271       to pay attention to this limitation because  the  encrypted  names  are
28272       typically longer than the original ones.
28273
28274   Number of files
28275       OneDrive  seems to be OK with at least 50,000 files in a folder, but at
28276       100,000 rclone will get errors listing the directory like couldn’t list
28277       files:  UnknownError:.  See #2707 (https://github.com/rclone/rclone/is
28278       sues/2707) for more info.
28279
28280       An official document about  the  limitations  for  different  types  of
28281       OneDrive  can  be  found  here  (https://support.office.com/en-us/arti
28282       cle/invalid-file-names-and-file-types-in-onedrive-onedrive-for-busi‐
28283       ness-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa).
28284
28285   Versions
28286       Every change in a file OneDrive causes the service to create a new ver‐
28287       sion of the the file.  This counts against a users quota.  For  example
28288       changing  the  modification time of a file creates a second version, so
28289       the file apparently uses twice the space.
28290
28291       For example the copy command is affected by this as rclone  copies  the
28292       file and then afterwards sets the modification time to match the source
28293       file which uses another version.
28294
28295       You can use the rclone cleanup command (see below) to  remove  all  old
28296       versions.
28297
28298       Or you can set the no_versions parameter to true and rclone will remove
28299       versions after operations which create new versions.  This takes  extra
28300       transactions so only enable it if you need it.
28301
28302       Note At the time of writing Onedrive Personal creates versions (but not
28303       for setting the modification time) but the API for  removing  them  re‐
28304       turns  "API not found" so cleanup and no_versions should not be used on
28305       Onedrive Personal.
28306
28307   Disabling versioning
28308       Starting October 2018, users will no longer be able to disable version‐
28309       ing  by  default.   This  is  because  Microsoft  has brought an update
28310       (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Up
28311       dates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390)   to
28312       the mechanism.  To change this new default setting, a  PowerShell  com‐
28313       mand is required to be run by a SharePoint admin.  If you are an admin,
28314       you can run these commands in PowerShell to change that setting:
28315
28316       1. Install-Module -Name Microsoft.Online.SharePoint.PowerShell (in case
28317          you haven't installed this already)
28318
28319       2. Import-Module    Microsoft.Online.SharePoint.PowerShell    -Disable‐
28320          NameChecking
28321
28322       3. Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com  -Cre‐
28323          dential YOU@YOURSITE.COM (replacing YOURSITE, YOU, YOURSITE.COM with
28324          the actual values; this will prompt for your credentials)
28325
28326       4. Set-SPOTenant -EnableMinimumVersionRequirement $False
28327
28328       5. Disconnect-SPOService (to disconnect from the server)
28329
28330       Below are the steps for normal users  to  disable  versioning.  If  you
28331       don't  see the "No Versioning" option, make sure the above requirements
28332       are met.
28333
28334       User Weropol (https://github.com/Weropol) has found a method to disable
28335       versioning on OneDrive
28336
28337       1. Open  the settings menu by clicking on the gear symbol at the top of
28338          the OneDrive Business page.
28339
28340       2. Click Site settings.
28341
28342       3. Once on the Site settings page, navigate to  Site  Administration  >
28343          Site libraries and lists.
28344
28345       4. Click Customize "Documents".
28346
28347       5. Click General Settings > Versioning Settings.
28348
28349       6. Under  Document  Version  History  select  the option No versioning.
28350          Note: This will disable the creation of new file versions, but  will
28351          not remove any previous versions.  Your documents are safe.
28352
28353       7. Apply the changes by clicking OK.
28354
28355       8. Use  rclone  to  upload  or  modify files.  (I also use the --no-up‐
28356          date-modtime flag)
28357
28358       9. Restore the versioning settings after using rclone.  (Optional)
28359
28360   Cleanup
28361       OneDrive supports rclone cleanup which causes rclone  to  look  through
28362       every  file under the path supplied and delete all version but the cur‐
28363       rent version.  Because this involves traversing  all  the  files,  then
28364       querying  each  file  for  versions  it can be quite slow.  Rclone does
28365       --checkers tests in parallel.  The command also supports -i which is  a
28366       great way to see what it would do.
28367
28368              rclone cleanup -i remote:path/subdir # interactively remove all old version for path/subdir
28369              rclone cleanup remote:path/subdir    # unconditionally remove all old version for path/subdir
28370
28371       NB Onedrive personal can't currently delete versions
28372
28373   Troubleshooting
28374   Excessive throttling or blocked on SharePoint
28375       If  you  experience  excessive throttling or is being blocked on Share‐
28376       Point then it may help to set the user agent  explicitly  with  a  flag
28377       like this: --user-agent "ISV|rclone.org|rclone/v1.55.1"
28378
28379       The specific details can be found in the Microsoft document: Avoid get‐
28380       ting throttled or blocked  in  SharePoint  Online  (https://docs.micro
28381       soft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-
28382       throttled-or-blocked-in-sharepoint-online#how-to-decorate-your-http-
28383       traffic-to-avoid-throttling)
28384
28385   Unexpected file size/hash differences on Sharepoint
28386       It   is   a   known  (https://github.com/OneDrive/onedrive-api-docs/is
28387       sues/935#issuecomment-441741631) issue that Sharepoint (not OneDrive or
28388       OneDrive  for Business) silently modifies uploaded files, mainly Office
28389       files (.docx, .xlsx, etc.), causing file size and hash checks to  fail.
28390       There  are also other situations that will cause OneDrive to report in‐
28391       consistent file sizes.  To use  rclone  with  such  affected  files  on
28392       Sharepoint,  you  may  disable  these checks with the following command
28393       line arguments:
28394
28395              --ignore-checksum --ignore-size
28396
28397       Alternatively, if you have write access to the OneDrive files,  it  may
28398       be  possible  to  fix this problem for certain files, by attempting the
28399       steps    below.     Open    the    web    interface    for     OneDrive
28400       (https://onedrive.live.com)  and find the affected files (which will be
28401       in the error messages/log for rclone).  Simply click on each  of  these
28402       files,  causing OneDrive to open them on the web.  This will cause each
28403       file to be converted in place to a format that is functionally  equiva‐
28404       lent  but  which will no longer trigger the size discrepancy.  Once all
28405       problematic files are converted you will no longer need the ignore  op‐
28406       tions above.
28407
28408   Replacing/deleting existing files on Sharepoint gets "item not found"
28409       It   is   a   known  (https://github.com/OneDrive/onedrive-api-docs/is
28410       sues/1068) issue that Sharepoint (not OneDrive or  OneDrive  for  Busi‐
28411       ness)  may  return "item not found" errors when users try to replace or
28412       delete uploaded files; this seems to mainly affect Office files (.docx,
28413       .xlsx,  etc.).   As  a  workaround, you may use the --backup-dir <BACK‐
28414       UP_DIR> command line argument so rclone  moves  the  files  to  be  re‐
28415       placed/deleted  into  a given backup directory (instead of directly re‐
28416       placing/deleting them).  For example, to instruct rclone  to  move  the
28417       files into the directory rclone-backup-dir on backend mysharepoint, you
28418       may use:
28419
28420              --backup-dir mysharepoint:rclone-backup-dir
28421
28422   access_denied (AADSTS65005)
28423              Error: access_denied
28424              Code: AADSTS65005
28425              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.
28426
28427       This means that rclone can't use the OneDrive  for  Business  API  with
28428       your account.  You can't do much about it, maybe write an email to your
28429       admins.
28430
28431       However, there are other ways to interact with your  OneDrive  account.
28432       Have  a  look  at the webdav backend: https://rclone.org/webdav/#share‐
28433       point
28434
28435   invalid_grant (AADSTS50076)
28436              Error: invalid_grant
28437              Code: AADSTS50076
28438              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 '...'.
28439
28440       If you see the error above after enabling  multi-factor  authentication
28441       for  your  account, you can fix it by refreshing your OAuth refresh to‐
28442       ken.  To do that, run rclone config, and choose to edit  your  OneDrive
28443       backend.   Then,  you don't need to actually make any changes until you
28444       reach this question: Already have a token - refresh?.  For  this  ques‐
28445       tion,  answer  y and go through the process to refresh your token, just
28446       like the first time the backend  is  configured.   After  this,  rclone
28447       should work again for this backend.
28448
28449   Invalid request when making public links
28450       On Sharepoint and OneDrive for Business, rclone link may return an "In‐
28451       valid request" error.  A possible cause is that the organisation  admin
28452       didn't  allow  public  links to be made for the organisation/sharepoint
28453       library.  To fix the permissions as an admin, take a look at the  docs:
28454       1   (https://docs.microsoft.com/en-us/sharepoint/turn-external-sharing-
28455       on-or-off),  2  (https://support.microsoft.com/en-us/office/set-up-and-
28456       manage-access-requests-94b26e0b-2822-49d4-929a-8455698654b3).
28457

OpenDrive

28459       Paths are specified as remote:path
28460
28461       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
28462
28463   Configuration
28464       Here is an example of how to make a remote called remote.  First run:
28465
28466               rclone config
28467
28468       This will guide you through an interactive setup process:
28469
28470              n) New remote
28471              d) Delete remote
28472              q) Quit config
28473              e/n/d/q> n
28474              name> remote
28475              Type of storage to configure.
28476              Choose a number from below, or type in your own value
28477              [snip]
28478              XX / OpenDrive
28479                 \ "opendrive"
28480              [snip]
28481              Storage> opendrive
28482              Username
28483              username>
28484              Password
28485              y) Yes type in my own password
28486              g) Generate random password
28487              y/g> y
28488              Enter the password:
28489              password:
28490              Confirm the password:
28491              password:
28492              --------------------
28493              [remote]
28494              username =
28495              password = *** ENCRYPTED ***
28496              --------------------
28497              y) Yes this is OK
28498              e) Edit this remote
28499              d) Delete this remote
28500              y/e/d> y
28501
28502       List directories in top level of your OpenDrive
28503
28504              rclone lsd remote:
28505
28506       List all the files in your OpenDrive
28507
28508              rclone ls remote:
28509
28510       To copy a local directory to an OpenDrive directory called backup
28511
28512              rclone copy /home/source remote:backup
28513
28514   Modified time and MD5SUMs
28515       OpenDrive  allows modification times to be set on objects accurate to 1
28516       second.  These will be used to detect whether objects need  syncing  or
28517       not.
28518
28519   Restricted filename characters
28520       Character   Value   Replacement
28521       ────────────────────────────────
28522       NUL         0x00         ␀
28523       /           0x2F        /
28524       "           0x22        "
28525       *           0x2A        *
28526       :           0x3A        :
28527       <           0x3C        <
28528       >           0x3E        >
28529       ?           0x3F        ?
28530       \           0x5C        \
28531       |           0x7C        |
28532
28533       File  names  can  also  not begin or end with the following characters.
28534       These only get replaced if they are the first or last character in  the
28535       name:
28536
28537       Character   Value   Replacement
28538       ────────────────────────────────
28539       SP          0x20         ␠
28540       HT          0x09         ␉
28541       LF          0x0A         ␊
28542       VT          0x0B         ␋
28543       CR          0x0D         ␍
28544
28545       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
28546       view/#invalid-utf8), as they can't be used in JSON strings.
28547
28548   Standard options
28549       Here are the standard options specific to opendrive (OpenDrive).
28550
28551   --opendrive-username
28552       Username.
28553
28554       • Config: username
28555
28556       • Env Var: RCLONE_OPENDRIVE_USERNAME
28557
28558       • Type: string
28559
28560       • Default: ""
28561
28562   --opendrive-password
28563       Password.
28564
28565       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
28566       (https://rclone.org/commands/rclone_obscure/).
28567
28568       • Config: password
28569
28570       • Env Var: RCLONE_OPENDRIVE_PASSWORD
28571
28572       • Type: string
28573
28574       • Default: ""
28575
28576   Advanced options
28577       Here are the advanced options specific to opendrive (OpenDrive).
28578
28579   --opendrive-encoding
28580       This sets the encoding for the backend.
28581
28582       See  the  encoding  section  in  the overview (https://rclone.org/over
28583       view/#encoding) for more info.
28584
28585       • Config: encoding
28586
28587       • Env Var: RCLONE_OPENDRIVE_ENCODING
28588
28589       • Type: MultiEncoder
28590
28591       • Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
28592         Slash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
28593
28594   --opendrive-chunk-size
28595       Files will be uploaded in chunks this size.
28596
28597       Note  that  these chunks are buffered in memory so increasing them will
28598       increase memory use.
28599
28600       • Config: chunk_size
28601
28602       • Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
28603
28604       • Type: SizeSuffix
28605
28606       • Default: 10Mi
28607
28608   Limitations
28609       Note that OpenDrive is case insensitive so you can't have a file called
28610       "Hello.doc" and one called "hello.doc".
28611
28612       There are quite a few characters that can't be in OpenDrive file names.
28613       These can't occur on Windows platforms, but  on  non-Windows  platforms
28614       they  are common.  Rclone will map these names to and from an identical
28615       looking unicode equivalent.  For example if a file has a ? in  it  will
28616       be mapped to ? instead.
28617
28618       rclone about is not supported by the OpenDrive backend.  Backends with‐
28619       out this capability cannot determine free space for an rclone mount  or
28620       use policy mfs (most free space) as a member of an rclone union remote.
28621
28622       See   List   of   backends   that   do   not   support   rclone   about
28623       (https://rclone.org/overview/#optional-features)   See   rclone   about
28624       (https://rclone.org/commands/rclone_about/)
28625

QingStor

28627       Paths  are specified as remote:bucket (or remote: for the lsd command.)
28628       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
28629
28630   Configuration
28631       Here is an example of making an QingStor configuration.  First run
28632
28633              rclone config
28634
28635       This will guide you through an interactive setup process.
28636
28637              No remotes found - make a new one
28638              n) New remote
28639              r) Rename remote
28640              c) Copy remote
28641              s) Set configuration password
28642              q) Quit config
28643              n/r/c/s/q> n
28644              name> remote
28645              Type of storage to configure.
28646              Choose a number from below, or type in your own value
28647              [snip]
28648              XX / QingStor Object Storage
28649                 \ "qingstor"
28650              [snip]
28651              Storage> qingstor
28652              Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
28653              Choose a number from below, or type in your own value
28654               1 / Enter QingStor credentials in the next step
28655                 \ "false"
28656               2 / Get QingStor credentials from the environment (env vars or IAM)
28657                 \ "true"
28658              env_auth> 1
28659              QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
28660              access_key_id> access_key
28661              QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
28662              secret_access_key> secret_key
28663              Enter an endpoint URL to connection QingStor API.
28664              Leave blank will use the default value "https://qingstor.com:443"
28665              endpoint>
28666              Zone connect to. Default is "pek3a".
28667              Choose a number from below, or type in your own value
28668                 / The Beijing (China) Three Zone
28669               1 | Needs location constraint pek3a.
28670                 \ "pek3a"
28671                 / The Shanghai (China) First Zone
28672               2 | Needs location constraint sh1a.
28673                 \ "sh1a"
28674              zone> 1
28675              Number of connection retry.
28676              Leave blank will use the default value "3".
28677              connection_retries>
28678              Remote config
28679              --------------------
28680              [remote]
28681              env_auth = false
28682              access_key_id = access_key
28683              secret_access_key = secret_key
28684              endpoint =
28685              zone = pek3a
28686              connection_retries =
28687              --------------------
28688              y) Yes this is OK
28689              e) Edit this remote
28690              d) Delete this remote
28691              y/e/d> y
28692
28693       This remote is called remote and can now be used like this
28694
28695       See all buckets
28696
28697              rclone lsd remote:
28698
28699       Make a new bucket
28700
28701              rclone mkdir remote:bucket
28702
28703       List the contents of a bucket
28704
28705              rclone ls remote:bucket
28706
28707       Sync /home/local/directory to the remote bucket,  deleting  any  excess
28708       files in the bucket.
28709
28710              rclone sync -i /home/local/directory remote:bucket
28711
28712   --fast-list
28713       This remote supports --fast-list which allows you to use fewer transac‐
28714       tions  in  exchange   for   more   memory.    See   the   rclone   docs
28715       (https://rclone.org/docs/#fast-list) for more details.
28716
28717   Multipart uploads
28718       rclone supports multipart uploads with QingStor which means that it can
28719       upload files bigger than 5 GiB.  Note that files uploaded  with  multi‐
28720       part upload don't have an MD5SUM.
28721
28722       Note  that  incomplete multipart uploads older than 24 hours can be re‐
28723       moved with rclone cleanup remote:bucket  just  for  one  bucket  rclone
28724       cleanup  remote: for all buckets.  QingStor does not ever remove incom‐
28725       plete multipart uploads so it may be necessary to run this from time to
28726       time.
28727
28728   Buckets and Zone
28729       With QingStor you can list buckets (rclone lsd) using any zone, but you
28730       can only access the content of a bucket from the zone  it  was  created
28731       in.   If  you  attempt to access a bucket from the wrong zone, you will
28732       get an error, incorrect zone, the bucket is not in 'XXX' zone.
28733
28734   Authentication
28735       There are two ways to supply rclone with a set of QingStor credentials.
28736       In order of precedence:
28737
28738       • Directly  in  the  rclone configuration file (as configured by rclone
28739         config)
28740
28741         • set access_key_id and secret_access_key
28742
28743       • Runtime configuration:
28744
28745         • set env_auth to true in the config file
28746
28747         • Exporting the following environment variables before running rclone
28748
28749           • Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
28750
28751           • Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
28752
28753   Restricted filename characters
28754       The control characters 0x00-0x1F and / are replaced as in  the  default
28755       restricted   characters  set  (https://rclone.org/overview/#restricted-
28756       characters).  Note that 0x7F is not replaced.
28757
28758       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
28759       view/#invalid-utf8), as they can't be used in JSON strings.
28760
28761   Standard options
28762       Here  are  the  standard options specific to qingstor (QingCloud Object
28763       Storage).
28764
28765   --qingstor-env-auth
28766       Get QingStor credentials from runtime.
28767
28768       Only applies if access_key_id and secret_access_key is blank.
28769
28770       • Config: env_auth
28771
28772       • Env Var: RCLONE_QINGSTOR_ENV_AUTH
28773
28774       • Type: bool
28775
28776       • Default: false
28777
28778       • Examples:
28779
28780         • "false"
28781
28782           • Enter QingStor credentials in the next step.
28783
28784         • "true"
28785
28786           • Get QingStor credentials from the environment (env vars or IAM).
28787
28788   --qingstor-access-key-id
28789       QingStor Access Key ID.
28790
28791       Leave blank for anonymous access or runtime credentials.
28792
28793       • Config: access_key_id
28794
28795       • Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
28796
28797       • Type: string
28798
28799       • Default: ""
28800
28801   --qingstor-secret-access-key
28802       QingStor Secret Access Key (password).
28803
28804       Leave blank for anonymous access or runtime credentials.
28805
28806       • Config: secret_access_key
28807
28808       • Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
28809
28810       • Type: string
28811
28812       • Default: ""
28813
28814   --qingstor-endpoint
28815       Enter an endpoint URL to connection QingStor API.
28816
28817       Leave blank will use the default value "https://qingstor.com:443".
28818
28819       • Config: endpoint
28820
28821       • Env Var: RCLONE_QINGSTOR_ENDPOINT
28822
28823       • Type: string
28824
28825       • Default: ""
28826
28827   --qingstor-zone
28828       Zone to connect to.
28829
28830       Default is "pek3a".
28831
28832       • Config: zone
28833
28834       • Env Var: RCLONE_QINGSTOR_ZONE
28835
28836       • Type: string
28837
28838       • Default: ""
28839
28840       • Examples:
28841
28842         • "pek3a"
28843
28844           • The Beijing (China) Three Zone.
28845
28846           • Needs location constraint pek3a.
28847
28848         • "sh1a"
28849
28850           • The Shanghai (China) First Zone.
28851
28852           • Needs location constraint sh1a.
28853
28854         • "gd2a"
28855
28856           • The Guangdong (China) Second Zone.
28857
28858           • Needs location constraint gd2a.
28859
28860   Advanced options
28861       Here are the advanced options specific to  qingstor  (QingCloud  Object
28862       Storage).
28863
28864   --qingstor-connection-retries
28865       Number of connection retries.
28866
28867       • Config: connection_retries
28868
28869       • Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
28870
28871       • Type: int
28872
28873       • Default: 3
28874
28875   --qingstor-upload-cutoff
28876       Cutoff for switching to chunked upload.
28877
28878       Any  files  larger  than this will be uploaded in chunks of chunk_size.
28879       The minimum is 0 and the maximum is 5 GiB.
28880
28881       • Config: upload_cutoff
28882
28883       • Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
28884
28885       • Type: SizeSuffix
28886
28887       • Default: 200Mi
28888
28889   --qingstor-chunk-size
28890       Chunk size to use for uploading.
28891
28892       When uploading files larger than upload_cutoff they will be uploaded as
28893       multipart uploads using this chunk size.
28894
28895       Note  that  "--qingstor-upload-concurrency"  chunks  of  this  size are
28896       buffered in memory per transfer.
28897
28898       If you are transferring large files over high-speed links and you  have
28899       enough memory, then increasing this will speed up the transfers.
28900
28901       • Config: chunk_size
28902
28903       • Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
28904
28905       • Type: SizeSuffix
28906
28907       • Default: 4Mi
28908
28909   --qingstor-upload-concurrency
28910       Concurrency for multipart uploads.
28911
28912       This is the number of chunks of the same file that are uploaded concur‐
28913       rently.
28914
28915       NB if you set this to > 1 then the checksums of multipart  uploads  be‐
28916       come corrupted (the uploads themselves are not corrupted though).
28917
28918       If you are uploading small numbers of large files over high-speed links
28919       and these uploads do not fully utilize your bandwidth, then  increasing
28920       this may help to speed up the transfers.
28921
28922       • Config: upload_concurrency
28923
28924       • Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
28925
28926       • Type: int
28927
28928       • Default: 1
28929
28930   --qingstor-encoding
28931       This sets the encoding for the backend.
28932
28933       See  the  encoding  section  in  the overview (https://rclone.org/over
28934       view/#encoding) for more info.
28935
28936       • Config: encoding
28937
28938       • Env Var: RCLONE_QINGSTOR_ENCODING
28939
28940       • Type: MultiEncoder
28941
28942       • Default: Slash,Ctl,InvalidUtf8
28943
28944   Limitations
28945       rclone about is not supported by the qingstor backend.  Backends  with‐
28946       out  this capability cannot determine free space for an rclone mount or
28947       use policy mfs (most free space) as a member of an rclone union remote.
28948
28949       See   List   of   backends   that   do   not   support   rclone   about
28950       (https://rclone.org/overview/#optional-features)   See   rclone   about
28951       (https://rclone.org/commands/rclone_about/)
28952

Sia

28954       Sia (sia.tech (https://sia.tech/)) is  a  decentralized  cloud  storage
28955       platform    based    on   the   blockchain   (https://wikipedia.org/wi
28956       ki/Blockchain) technology.  With rclone you can use it like  any  other
28957       remote  filesystem or mount Sia folders locally.  The technology behind
28958       it involves a number of new  concepts  such  as  Siacoins  and  Wallet,
28959       Blockchain  and  Consensus, Renting and Hosting, and so on.  If you are
28960       new to it, you'd better first familiarize yourself using  their  excel‐
28961       lent support documentation (https://support.sia.tech/).
28962
28963   Introduction
28964       Before  you  can  use  rclone with Sia, you will need to have a running
28965       copy of Sia-UI or siad (the Sia daemon) locally on your computer or  on
28966       local   network   (e.g.    a  NAS).   Please  follow  the  Get  started
28967       (https://sia.tech/get-started) guide and install one.
28968
28969       rclone interacts with Sia network by talking to the Sia daemon via HTTP
28970       API  (https://sia.tech/docs/)  which is usually available on port 9980.
28971       By default you will run the daemon locally on the same computer so it's
28972       safe   to   leave   the  API  password  blank  (the  API  URL  will  be
28973       http://127.0.0.1:9980 making external access impossible).
28974
28975       However, if you want to access Sia daemon running on another node,  for
28976       example  due  to memory constraints or because you want to share single
28977       daemon between several rclone and Sia-UI instances, you'll need to make
28978       a  few more provisions: - Ensure you have Sia daemon installed directly
28979       or    in    a    docker    container     (https://github.com/SiaFounda
28980       tion/siad/pkgs/container/siad)  because  Sia-UI  does  not support this
28981       mode natively.  - Run it on externally  accessible  port,  for  example
28982       provide  --api-addr  :9980  and --disable-api-security arguments on the
28983       daemon command line.  - Enforce API password for the  siad  daemon  via
28984       environment variable SIA_API_PASSWORD or text file named apipassword in
28985       the daemon directory.  - Set rclone backend option api_password  taking
28986       it from above locations.
28987
28988       Notes:  1.  If your wallet is locked, rclone cannot unlock it automati‐
28989       cally.  You should either unlock it in advance by using Sia-UI  or  via
28990       command  line  siac wallet unlock.  Alternatively you can make siad un‐
28991       lock your wallet automatically upon startup by running it with environ‐
28992       ment  variable  SIA_WALLET_PASSWORD.   2.   If  siad  cannot  find  the
28993       SIA_API_PASSWORD variable or the apipassword file in the SIA_DIR direc‐
28994       tory,  it  will  generate  a random password and store in the text file
28995       named  apipassword  under  YOUR_HOME/.sia/   directory   on   Unix   or
28996       C:\Users\YOUR_HOME\AppData\Local\Sia\apipassword  on Windows.  Remember
28997       this when you configure password in rclone.  3.  The only  way  to  use
28998       siad  without  API password is to run it on localhost with command line
28999       argument --authorize-api=false, but this is insecure and strongly  dis‐
29000       couraged.
29001
29002   Configuration
29003       Here  is  an  example of how to make a sia remote called mySia.  First,
29004       run:
29005
29006               rclone config
29007
29008       This will guide you through an interactive setup process:
29009
29010              No remotes found - make a new one
29011              n) New remote
29012              s) Set configuration password
29013              q) Quit config
29014              n/s/q> n
29015              name> mySia
29016              Type of storage to configure.
29017              Enter a string value. Press Enter for the default ("").
29018              Choose a number from below, or type in your own value
29019              ...
29020              29 / Sia Decentralized Cloud
29021                 \ "sia"
29022              ...
29023              Storage> sia
29024              Sia daemon API URL, like http://sia.daemon.host:9980.
29025              Note that siad must run with --disable-api-security to open API port for other hosts (not recommended).
29026              Keep default if Sia daemon runs on localhost.
29027              Enter a string value. Press Enter for the default ("http://127.0.0.1:9980").
29028              api_url> http://127.0.0.1:9980
29029              Sia Daemon API Password.
29030              Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory.
29031              y) Yes type in my own password
29032              g) Generate random password
29033              n) No leave this optional password blank (default)
29034              y/g/n> y
29035              Enter the password:
29036              password:
29037              Confirm the password:
29038              password:
29039              Edit advanced config?
29040              y) Yes
29041              n) No (default)
29042              y/n> n
29043              --------------------
29044              [mySia]
29045              type = sia
29046              api_url = http://127.0.0.1:9980
29047              api_password = *** ENCRYPTED ***
29048              --------------------
29049              y) Yes this is OK (default)
29050              e) Edit this remote
29051              d) Delete this remote
29052              y/e/d> y
29053
29054       Once configured, you can then use rclone like this:
29055
29056       • List directories in top level of your Sia storage
29057
29058         rclone lsd mySia:
29059
29060       • List all the files in your Sia storage
29061
29062         rclone ls mySia:
29063
29064       • Upload a local directory to the Sia directory called backup
29065
29066         rclone copy /home/source mySia:backup
29067
29068   Standard options
29069       Here are the  standard  options  specific  to  sia  (Sia  Decentralized
29070       Cloud).
29071
29072   --sia-api-url
29073       Sia daemon API URL, like http://sia.daemon.host:9980.
29074
29075       Note  that  siad  must run with --disable-api-security to open API port
29076       for other hosts (not recommended).  Keep default if Sia daemon runs  on
29077       localhost.
29078
29079       • Config: api_url
29080
29081       • Env Var: RCLONE_SIA_API_URL
29082
29083       • Type: string
29084
29085       • Default: "http://127.0.0.1:9980"
29086
29087   --sia-api-password
29088       Sia Daemon API Password.
29089
29090       Can  be  found  in the apipassword file located in HOME/.sia/ or in the
29091       daemon directory.
29092
29093       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
29094       (https://rclone.org/commands/rclone_obscure/).
29095
29096       • Config: api_password
29097
29098       • Env Var: RCLONE_SIA_API_PASSWORD
29099
29100       • Type: string
29101
29102       • Default: ""
29103
29104   Advanced options
29105       Here  are  the  advanced  options  specific  to  sia (Sia Decentralized
29106       Cloud).
29107
29108   --sia-user-agent
29109       Siad User Agent
29110
29111       Sia daemon requires the 'Sia-Agent' user agent by default for security
29112
29113       • Config: user_agent
29114
29115       • Env Var: RCLONE_SIA_USER_AGENT
29116
29117       • Type: string
29118
29119       • Default: "Sia-Agent"
29120
29121   --sia-encoding
29122       This sets the encoding for the backend.
29123
29124       See the encoding  section  in  the  overview  (https://rclone.org/over
29125       view/#encoding) for more info.
29126
29127       • Config: encoding
29128
29129       • Env Var: RCLONE_SIA_ENCODING
29130
29131       • Type: MultiEncoder
29132
29133       • Default: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot
29134
29135   Limitations
29136       • Modification times not supported
29137
29138       • Checksums not supported
29139
29140       • rclone about not supported
29141
29142       • rclone  can  work  only with Siad or Sia-UI at the moment, the SkyNet
29143         daemon is not supported yet.
29144
29145       • Sia does not allow control characters or symbols  like  question  and
29146         pound   signs  in  file  names.   rclone  will  transparently  encode
29147         (https://rclone.org/overview/#encoding) them for you, but you'd  bet‐
29148         ter be aware
29149

Swift

29151       Swift   refers   to   OpenStack   Object   Storage  (https://docs.open
29152       stack.org/swift/latest/).  Commercial implementations of that being:
29153
29154       • Rackspace Cloud Files (https://www.rackspace.com/cloud/files/)
29155
29156       • Memset Memstore (https://www.memset.com/cloud/storage/)
29157
29158       • OVH  Object  Storage  (https://www.ovh.co.uk/public-cloud/storage/ob
29159         ject-storage/)
29160
29161       • Oracle  Cloud  Storage (https://cloud.oracle.com/object-storage/buck
29162         ets)
29163
29164       • IBM    Bluemix    Cloud     ObjectStorage     Swift     (https://con
29165         sole.bluemix.net/docs/infrastructure/objectstorage-swift/index.html)
29166
29167       Paths  are  specified  as remote:container (or remote: for the lsd com‐
29168       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
29169       er/path/to/dir.
29170
29171   Configuration
29172       Here is an example of making a swift configuration.  First run
29173
29174              rclone config
29175
29176       This will guide you through an interactive setup process.
29177
29178              No remotes found - make a new one
29179              n) New remote
29180              s) Set configuration password
29181              q) Quit config
29182              n/s/q> n
29183              name> remote
29184              Type of storage to configure.
29185              Choose a number from below, or type in your own value
29186              [snip]
29187              XX / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
29188                 \ "swift"
29189              [snip]
29190              Storage> swift
29191              Get swift credentials from environment variables in standard OpenStack form.
29192              Choose a number from below, or type in your own value
29193               1 / Enter swift credentials in the next step
29194                 \ "false"
29195               2 / Get swift credentials from environment vars. Leave other fields blank if using this.
29196                 \ "true"
29197              env_auth> true
29198              User name to log in (OS_USERNAME).
29199              user>
29200              API key or password (OS_PASSWORD).
29201              key>
29202              Authentication URL for server (OS_AUTH_URL).
29203              Choose a number from below, or type in your own value
29204               1 / Rackspace US
29205                 \ "https://auth.api.rackspacecloud.com/v1.0"
29206               2 / Rackspace UK
29207                 \ "https://lon.auth.api.rackspacecloud.com/v1.0"
29208               3 / Rackspace v2
29209                 \ "https://identity.api.rackspacecloud.com/v2.0"
29210               4 / Memset Memstore UK
29211                 \ "https://auth.storage.memset.com/v1.0"
29212               5 / Memset Memstore UK v2
29213                 \ "https://auth.storage.memset.com/v2.0"
29214               6 / OVH
29215                 \ "https://auth.cloud.ovh.net/v3"
29216              auth>
29217              User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
29218              user_id>
29219              User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
29220              domain>
29221              Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
29222              tenant>
29223              Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
29224              tenant_id>
29225              Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
29226              tenant_domain>
29227              Region name - optional (OS_REGION_NAME)
29228              region>
29229              Storage URL - optional (OS_STORAGE_URL)
29230              storage_url>
29231              Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
29232              auth_token>
29233              AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
29234              auth_version>
29235              Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
29236              Choose a number from below, or type in your own value
29237               1 / Public (default, choose this if not sure)
29238                 \ "public"
29239               2 / Internal (use internal service net)
29240                 \ "internal"
29241               3 / Admin
29242                 \ "admin"
29243              endpoint_type>
29244              Remote config
29245              --------------------
29246              [test]
29247              env_auth = true
29248              user =
29249              key =
29250              auth =
29251              user_id =
29252              domain =
29253              tenant =
29254              tenant_id =
29255              tenant_domain =
29256              region =
29257              storage_url =
29258              auth_token =
29259              auth_version =
29260              endpoint_type =
29261              --------------------
29262              y) Yes this is OK
29263              e) Edit this remote
29264              d) Delete this remote
29265              y/e/d> y
29266
29267       This remote is called remote and can now be used like this
29268
29269       See all containers
29270
29271              rclone lsd remote:
29272
29273       Make a new container
29274
29275              rclone mkdir remote:container
29276
29277       List the contents of a container
29278
29279              rclone ls remote:container
29280
29281       Sync /home/local/directory to the remote container, deleting any excess
29282       files in the container.
29283
29284              rclone sync -i /home/local/directory remote:container
29285
29286   Configuration from an OpenStack credentials file
29287       An OpenStack credentials file typically looks something something  like
29288       this (without the comments)
29289
29290              export OS_AUTH_URL=https://a.provider.net/v2.0
29291              export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
29292              export OS_TENANT_NAME="1234567890123456"
29293              export OS_USERNAME="123abc567xy"
29294              echo "Please enter your OpenStack Password: "
29295              read -sr OS_PASSWORD_INPUT
29296              export OS_PASSWORD=$OS_PASSWORD_INPUT
29297              export OS_REGION_NAME="SBG1"
29298              if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
29299
29300       The  config  file  needs to look something like this where $OS_USERNAME
29301       represents the value of the OS_USERNAME variable - 123abc567xy  in  the
29302       example above.
29303
29304              [remote]
29305              type = swift
29306              user = $OS_USERNAME
29307              key = $OS_PASSWORD
29308              auth = $OS_AUTH_URL
29309              tenant = $OS_TENANT_NAME
29310
29311       Note  that  you  may  (or may not) need to set region too - try without
29312       first.
29313
29314   Configuration from the environment
29315       If you prefer you can configure rclone to use swift  using  a  standard
29316       set of OpenStack environment variables.
29317
29318       When you run through the config, make sure you choose true for env_auth
29319       and leave everything else blank.
29320
29321       rclone will then set any empty config parameters from  the  environment
29322       using standard OpenStack environment variables.  There is a list of the
29323       variables (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvi‐
29324       ronment) in the docs for the swift library.
29325
29326   Using an alternate authentication method
29327       If your OpenStack installation uses a non-standard authentication meth‐
29328       od that might not be yet supported by rclone or  the  underlying  swift
29329       library,  you  can  authenticate externally (e.g.  calling manually the
29330       openstack commands to get a token).  Then, you just need  to  pass  the
29331       two  configuration  variables  auth_token and storage_url.  If they are
29332       both provided, the other variables are ignored.  rclone will not try to
29333       authenticate  but  instead  assume  it is already authenticated and use
29334       these two variables to access the OpenStack installation.
29335
29336   Using rclone without a config file
29337       You can use rclone with swift without a config file, if  desired,  like
29338       this:
29339
29340              source openstack-credentials-file
29341              export RCLONE_CONFIG_MYREMOTE_TYPE=swift
29342              export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
29343              rclone lsd myremote:
29344
29345   --fast-list
29346       This remote supports --fast-list which allows you to use fewer transac‐
29347       tions  in  exchange   for   more   memory.    See   the   rclone   docs
29348       (https://rclone.org/docs/#fast-list) for more details.
29349
29350   --update and --use-server-modtime
29351       As  noted below, the modified time is stored on metadata on the object.
29352       It is used by default for all operations that require checking the time
29353       a  file  was  last  updated.  It allows rclone to treat the remote more
29354       like a true filesystem, but it is inefficient because  it  requires  an
29355       extra API call to retrieve the metadata.
29356
29357       For  many  operations, the time the object was last uploaded to the re‐
29358       mote is sufficient to determine if it is "dirty".   By  using  --update
29359       along  with  --use-server-modtime, you can avoid the extra API call and
29360       simply upload files whose local modtime is newer than the time  it  was
29361       last uploaded.
29362
29363   Modified time
29364       The  modified  time  is  stored  as  metadata  on  the  object as X-Ob‐
29365       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
29366
29367       This is a de facto standard (used in  the  official  python-swiftclient
29368       amongst others) for storing the modification time for an object.
29369
29370   Restricted filename characters
29371       Character   Value   Replacement
29372       ────────────────────────────────
29373       NUL         0x00         ␀
29374       /           0x2F        /
29375
29376       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
29377       view/#invalid-utf8), as they can't be used in JSON strings.
29378
29379   Standard options
29380       Here are the  standard  options  specific  to  swift  (OpenStack  Swift
29381       (Rackspace Cloud Files, Memset Memstore, OVH)).
29382
29383   --swift-env-auth
29384       Get  swift credentials from environment variables in standard OpenStack
29385       form.
29386
29387       • Config: env_auth
29388
29389       • Env Var: RCLONE_SWIFT_ENV_AUTH
29390
29391       • Type: bool
29392
29393       • Default: false
29394
29395       • Examples:
29396
29397         • "false"
29398
29399           • Enter swift credentials in the next step.
29400
29401         • "true"
29402
29403           • Get swift credentials from environment vars.
29404
29405           • Leave other fields blank if using this.
29406
29407   --swift-user
29408       User name to log in (OS_USERNAME).
29409
29410       • Config: user
29411
29412       • Env Var: RCLONE_SWIFT_USER
29413
29414       • Type: string
29415
29416       • Default: ""
29417
29418   --swift-key
29419       API key or password (OS_PASSWORD).
29420
29421       • Config: key
29422
29423       • Env Var: RCLONE_SWIFT_KEY
29424
29425       • Type: string
29426
29427       • Default: ""
29428
29429   --swift-auth
29430       Authentication URL for server (OS_AUTH_URL).
29431
29432       • Config: auth
29433
29434       • Env Var: RCLONE_SWIFT_AUTH
29435
29436       • Type: string
29437
29438       • Default: ""
29439
29440       • Examples:
29441
29442         • "https://auth.api.rackspacecloud.com/v1.0"
29443
29444           • Rackspace US
29445
29446         • "https://lon.auth.api.rackspacecloud.com/v1.0"
29447
29448           • Rackspace UK
29449
29450         • "https://identity.api.rackspacecloud.com/v2.0"
29451
29452           • Rackspace v2
29453
29454         • "https://auth.storage.memset.com/v1.0"
29455
29456           • Memset Memstore UK
29457
29458         • "https://auth.storage.memset.com/v2.0"
29459
29460           • Memset Memstore UK v2
29461
29462         • "https://auth.cloud.ovh.net/v3"
29463
29464           • OVH
29465
29466   --swift-user-id
29467       User ID to log in - optional - most swift systems use  user  and  leave
29468       this blank (v3 auth) (OS_USER_ID).
29469
29470       • Config: user_id
29471
29472       • Env Var: RCLONE_SWIFT_USER_ID
29473
29474       • Type: string
29475
29476       • Default: ""
29477
29478   --swift-domain
29479       User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
29480
29481       • Config: domain
29482
29483       • Env Var: RCLONE_SWIFT_DOMAIN
29484
29485       • Type: string
29486
29487       • Default: ""
29488
29489   --swift-tenant
29490       Tenant  name  - optional for v1 auth, this or tenant_id required other‐
29491       wise (OS_TENANT_NAME or OS_PROJECT_NAME).
29492
29493       • Config: tenant
29494
29495       • Env Var: RCLONE_SWIFT_TENANT
29496
29497       • Type: string
29498
29499       • Default: ""
29500
29501   --swift-tenant-id
29502       Tenant ID - optional for v1 auth, this  or  tenant  required  otherwise
29503       (OS_TENANT_ID).
29504
29505       • Config: tenant_id
29506
29507       • Env Var: RCLONE_SWIFT_TENANT_ID
29508
29509       • Type: string
29510
29511       • Default: ""
29512
29513   --swift-tenant-domain
29514       Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME).
29515
29516       • Config: tenant_domain
29517
29518       • Env Var: RCLONE_SWIFT_TENANT_DOMAIN
29519
29520       • Type: string
29521
29522       • Default: ""
29523
29524   --swift-region
29525       Region name - optional (OS_REGION_NAME).
29526
29527       • Config: region
29528
29529       • Env Var: RCLONE_SWIFT_REGION
29530
29531       • Type: string
29532
29533       • Default: ""
29534
29535   --swift-storage-url
29536       Storage URL - optional (OS_STORAGE_URL).
29537
29538       • Config: storage_url
29539
29540       • Env Var: RCLONE_SWIFT_STORAGE_URL
29541
29542       • Type: string
29543
29544       • Default: ""
29545
29546   --swift-auth-token
29547       Auth Token from alternate authentication - optional (OS_AUTH_TOKEN).
29548
29549       • Config: auth_token
29550
29551       • Env Var: RCLONE_SWIFT_AUTH_TOKEN
29552
29553       • Type: string
29554
29555       • Default: ""
29556
29557   --swift-application-credential-id
29558       Application Credential ID (OS_APPLICATION_CREDENTIAL_ID).
29559
29560       • Config: application_credential_id
29561
29562       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
29563
29564       • Type: string
29565
29566       • Default: ""
29567
29568   --swift-application-credential-name
29569       Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME).
29570
29571       • Config: application_credential_name
29572
29573       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
29574
29575       • Type: string
29576
29577       • Default: ""
29578
29579   --swift-application-credential-secret
29580       Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET).
29581
29582       • Config: application_credential_secret
29583
29584       • Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
29585
29586       • Type: string
29587
29588       • Default: ""
29589
29590   --swift-auth-version
29591       AuthVersion - optional - set to (1,2,3) if your auth URL has no version
29592       (ST_AUTH_VERSION).
29593
29594       • Config: auth_version
29595
29596       • Env Var: RCLONE_SWIFT_AUTH_VERSION
29597
29598       • Type: int
29599
29600       • Default: 0
29601
29602   --swift-endpoint-type
29603       Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE).
29604
29605       • Config: endpoint_type
29606
29607       • Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
29608
29609       • Type: string
29610
29611       • Default: "public"
29612
29613       • Examples:
29614
29615         • "public"
29616
29617           • Public (default, choose this if not sure)
29618
29619         • "internal"
29620
29621           • Internal (use internal service net)
29622
29623         • "admin"
29624
29625           • Admin
29626
29627   --swift-storage-policy
29628       The storage policy to use when creating a new container.
29629
29630       This applies the specified storage policy when creating a new  contain‐
29631       er.   The  policy cannot be changed afterwards.  The allowed configura‐
29632       tion values and their meaning depend on your Swift storage provider.
29633
29634       • Config: storage_policy
29635
29636       • Env Var: RCLONE_SWIFT_STORAGE_POLICY
29637
29638       • Type: string
29639
29640       • Default: ""
29641
29642       • Examples:
29643
29644         • ""
29645
29646           • Default
29647
29648         • "pcs"
29649
29650           • OVH Public Cloud Storage
29651
29652         • "pca"
29653
29654           • OVH Public Cloud Archive
29655
29656   Advanced options
29657       Here are the  advanced  options  specific  to  swift  (OpenStack  Swift
29658       (Rackspace Cloud Files, Memset Memstore, OVH)).
29659
29660   --swift-leave-parts-on-error
29661       If true avoid calling abort upload on a failure.
29662
29663       It  should  be  set  to true for resuming uploads across different ses‐
29664       sions.
29665
29666       • Config: leave_parts_on_error
29667
29668       • Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
29669
29670       • Type: bool
29671
29672       • Default: false
29673
29674   --swift-chunk-size
29675       Above this size files will be chunked into a _segments container.
29676
29677       Above this size files will be chunked into a _segments container.   The
29678       default for this is 5 GiB which is its maximum value.
29679
29680       • Config: chunk_size
29681
29682       • Env Var: RCLONE_SWIFT_CHUNK_SIZE
29683
29684       • Type: SizeSuffix
29685
29686       • Default: 5Gi
29687
29688   --swift-no-chunk
29689       Don't chunk files during streaming upload.
29690
29691       When  doing  streaming uploads (e.g.  using rcat or mount) setting this
29692       flag will cause the swift backend to not upload chunked files.
29693
29694       This will limit the maximum upload size to 5 GiB.  However non  chunked
29695       files are easier to deal with and have an MD5SUM.
29696
29697       Rclone  will still chunk files bigger than chunk_size when doing normal
29698       copy operations.
29699
29700       • Config: no_chunk
29701
29702       • Env Var: RCLONE_SWIFT_NO_CHUNK
29703
29704       • Type: bool
29705
29706       • Default: false
29707
29708   --swift-encoding
29709       This sets the encoding for the backend.
29710
29711       See the encoding  section  in  the  overview  (https://rclone.org/over
29712       view/#encoding) for more info.
29713
29714       • Config: encoding
29715
29716       • Env Var: RCLONE_SWIFT_ENCODING
29717
29718       • Type: MultiEncoder
29719
29720       • Default: Slash,InvalidUtf8
29721
29722   Limitations
29723       The  Swift API doesn't return a correct MD5SUM for segmented files (Dy‐
29724       namic or Static Large Objects) so rclone won't check or use the  MD5SUM
29725       for these.
29726
29727   Troubleshooting
29728   Rclone gives Failed to create file system for "remote:": Bad Request
29729       Due  to  an oddity of the underlying swift library, it gives a "Bad Re‐
29730       quest" error rather than a more sensible error when the  authentication
29731       fails for Swift.
29732
29733       So  this  most likely means your username / password is wrong.  You can
29734       investigate further with the --dump-bodies flag.
29735
29736       This may also be caused by specifying the  region  when  you  shouldn't
29737       have (e.g.  OVH).
29738
29739   Rclone gives Failed to create file system: Response didn't have storage url
29740       and auth token
29741       This is most likely caused by forgetting to specify  your  tenant  when
29742       setting up a swift remote.
29743
29744   OVH Cloud Archive
29745       To use rclone with OVH cloud archive, first use rclone config to set up
29746       a swift backend with OVH, choosing pca as the storage_policy.
29747
29748   Uploading Objects
29749       Uploading objects to OVH cloud archive is no different to object  stor‐
29750       age,  you  just simply run the command you like (move, copy or sync) to
29751       upload the objects.  Once uploaded the objects will show in a  "Frozen"
29752       state within the OVH control panel.
29753
29754   Retrieving Objects
29755       To retrieve objects use rclone copy as normal.  If the objects are in a
29756       frozen state then rclone will ask for them all to be  unfrozen  and  it
29757       will wait at the end of the output with a message like the following:
29758
29759       2019/03/23 13:06:33 NOTICE: Received retry after error - sleeping until
29760       2019-03-23T13:16:33.481657164+01:00 (9m59.99985121s)
29761
29762       Rclone will wait for the time specified then retry the copy.
29763

pCloud

29765       Paths are specified as remote:path
29766
29767       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
29768
29769   Configuration
29770       The initial setup for pCloud involves getting a token from pCloud which
29771       you need to do in your browser.  rclone config walks you through it.
29772
29773       Here is an example of how to make a remote called remote.  First run:
29774
29775               rclone config
29776
29777       This will guide you through an interactive setup process:
29778
29779              No remotes found - make a new one
29780              n) New remote
29781              s) Set configuration password
29782              q) Quit config
29783              n/s/q> n
29784              name> remote
29785              Type of storage to configure.
29786              Choose a number from below, or type in your own value
29787              [snip]
29788              XX / Pcloud
29789                 \ "pcloud"
29790              [snip]
29791              Storage> pcloud
29792              Pcloud App Client Id - leave blank normally.
29793              client_id>
29794              Pcloud App Client Secret - leave blank normally.
29795              client_secret>
29796              Remote config
29797              Use auto config?
29798               * Say Y if not sure
29799               * Say N if you are working on a remote or headless machine
29800              y) Yes
29801              n) No
29802              y/n> y
29803              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
29804              Log in and authorize rclone for access
29805              Waiting for code...
29806              Got code
29807              --------------------
29808              [remote]
29809              client_id =
29810              client_secret =
29811              token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
29812              --------------------
29813              y) Yes this is OK
29814              e) Edit this remote
29815              d) Delete this remote
29816              y/e/d> y
29817
29818       See the remote setup docs (https://rclone.org/remote_setup/) for how to
29819       set it up on a machine with no Internet browser available.
29820
29821       Note that rclone runs a webserver on your local machine to collect  the
29822       token as returned from pCloud.  This only runs from the moment it opens
29823       your browser to the moment you get back the verification code.  This is
29824       on  http://127.0.0.1:53682/  and  this it may require you to unblock it
29825       temporarily if you are running a host firewall.
29826
29827       Once configured you can then use rclone like this,
29828
29829       List directories in top level of your pCloud
29830
29831              rclone lsd remote:
29832
29833       List all the files in your pCloud
29834
29835              rclone ls remote:
29836
29837       To copy a local directory to an pCloud directory called backup
29838
29839              rclone copy /home/source remote:backup
29840
29841   Modified time and hashes
29842       pCloud allows modification times to be set on  objects  accurate  to  1
29843       second.   These  will be used to detect whether objects need syncing or
29844       not.  In order to set a Modification time pCloud requires the object be
29845       re-uploaded.
29846
29847       pCloud  supports  MD5  and  SHA1  hashes in the US region, and SHA1 and
29848       SHA256 hashes in the EU region, so you can use the --checksum flag.
29849
29850   Restricted filename characters
29851       In   addition   to    the    default    restricted    characters    set
29852       (https://rclone.org/overview/#restricted-characters)    the   following
29853       characters are also replaced:
29854
29855       Character   Value   Replacement
29856       ────────────────────────────────
29857       \           0x5C        \
29858
29859       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
29860       view/#invalid-utf8), as they can't be used in JSON strings.
29861
29862   Deleting files
29863       Deleted files will be moved to the trash.  Your subscription level will
29864       determine how long items stay in the trash.  rclone cleanup can be used
29865       to empty the trash.
29866
29867   Root folder ID
29868       You  can  set  the  root_folder_id  for  rclone.  This is the directory
29869       (identified by its Folder ID) that rclone considers to be the  root  of
29870       your pCloud drive.
29871
29872       Normally  you  will leave this blank and rclone will determine the cor‐
29873       rect root to use itself.
29874
29875       However you can set this to restrict rclone to a specific folder  hier‐
29876       archy.
29877
29878       In order to do this you will have to find the Folder ID of the directo‐
29879       ry you wish rclone to display.  This will be the folder  field  of  the
29880       URL when you open the relevant folder in the pCloud web interface.
29881
29882       So  if  the  folder  you  want rclone to use has a URL which looks like
29883       https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=folder‐
29884       grid  in  the browser, then you use 5xxxxxxxx8 as the root_folder_id in
29885       the config.
29886
29887   Standard options
29888       Here are the standard options specific to pcloud (Pcloud).
29889
29890   --pcloud-client-id
29891       OAuth Client Id.
29892
29893       Leave blank normally.
29894
29895       • Config: client_id
29896
29897       • Env Var: RCLONE_PCLOUD_CLIENT_ID
29898
29899       • Type: string
29900
29901       • Default: ""
29902
29903   --pcloud-client-secret
29904       OAuth Client Secret.
29905
29906       Leave blank normally.
29907
29908       • Config: client_secret
29909
29910       • Env Var: RCLONE_PCLOUD_CLIENT_SECRET
29911
29912       • Type: string
29913
29914       • Default: ""
29915
29916   Advanced options
29917       Here are the advanced options specific to pcloud (Pcloud).
29918
29919   --pcloud-token
29920       OAuth Access Token as a JSON blob.
29921
29922       • Config: token
29923
29924       • Env Var: RCLONE_PCLOUD_TOKEN
29925
29926       • Type: string
29927
29928       • Default: ""
29929
29930   --pcloud-auth-url
29931       Auth server URL.
29932
29933       Leave blank to use the provider defaults.
29934
29935       • Config: auth_url
29936
29937       • Env Var: RCLONE_PCLOUD_AUTH_URL
29938
29939       • Type: string
29940
29941       • Default: ""
29942
29943   --pcloud-token-url
29944       Token server url.
29945
29946       Leave blank to use the provider defaults.
29947
29948       • Config: token_url
29949
29950       • Env Var: RCLONE_PCLOUD_TOKEN_URL
29951
29952       • Type: string
29953
29954       • Default: ""
29955
29956   --pcloud-encoding
29957       This sets the encoding for the backend.
29958
29959       See the encoding  section  in  the  overview  (https://rclone.org/over
29960       view/#encoding) for more info.
29961
29962       • Config: encoding
29963
29964       • Env Var: RCLONE_PCLOUD_ENCODING
29965
29966       • Type: MultiEncoder
29967
29968       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
29969
29970   --pcloud-root-folder-id
29971       Fill in for rclone to use a non root folder as its starting point.
29972
29973       • Config: root_folder_id
29974
29975       • Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
29976
29977       • Type: string
29978
29979       • Default: "d0"
29980
29981   --pcloud-hostname
29982       Hostname to connect to.
29983
29984       This  is  normally set when rclone initially does the oauth connection,
29985       however you will need to set it by hand if you are using remote  config
29986       with rclone authorize.
29987
29988       • Config: hostname
29989
29990       • Env Var: RCLONE_PCLOUD_HOSTNAME
29991
29992       • Type: string
29993
29994       • Default: "api.pcloud.com"
29995
29996       • Examples:
29997
29998         • "api.pcloud.com"
29999
30000           • Original/US region
30001
30002         • "eapi.pcloud.com"
30003
30004           • EU region
30005

premiumize.me

30007       Paths are specified as remote:path
30008
30009       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
30010
30011   Configuration
30012       The  initial  setup for premiumize.me (https://premiumize.me/) involves
30013       getting a token from premiumize.me which you need to do in your  brows‐
30014       er.  rclone config walks you through it.
30015
30016       Here is an example of how to make a remote called remote.  First run:
30017
30018               rclone config
30019
30020       This will guide you through an interactive setup process:
30021
30022              No remotes found - make a new one
30023              n) New remote
30024              s) Set configuration password
30025              q) Quit config
30026              n/s/q> n
30027              name> remote
30028              Type of storage to configure.
30029              Enter a string value. Press Enter for the default ("").
30030              Choose a number from below, or type in your own value
30031              [snip]
30032              XX / premiumize.me
30033                 \ "premiumizeme"
30034              [snip]
30035              Storage> premiumizeme
30036              ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
30037
30038              Remote config
30039              Use auto config?
30040               * Say Y if not sure
30041               * Say N if you are working on a remote or headless machine
30042              y) Yes
30043              n) No
30044              y/n> y
30045              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
30046              Log in and authorize rclone for access
30047              Waiting for code...
30048              Got code
30049              --------------------
30050              [remote]
30051              type = premiumizeme
30052              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"}
30053              --------------------
30054              y) Yes this is OK
30055              e) Edit this remote
30056              d) Delete this remote
30057              y/e/d>
30058
30059       See the remote setup docs (https://rclone.org/remote_setup/) for how to
30060       set it up on a machine with no Internet browser available.
30061
30062       Note that rclone runs a webserver on your local machine to collect  the
30063       token  as  returned from premiumize.me.  This only runs from the moment
30064       it opens your browser to the moment you get back the verification code.
30065       This  is  on http://127.0.0.1:53682/ and this it may require you to un‐
30066       block it temporarily if you are running a host firewall.
30067
30068       Once configured you can then use rclone like this,
30069
30070       List directories in top level of your premiumize.me
30071
30072              rclone lsd remote:
30073
30074       List all the files in your premiumize.me
30075
30076              rclone ls remote:
30077
30078       To copy a local directory to an premiumize.me directory called backup
30079
30080              rclone copy /home/source remote:backup
30081
30082   Modified time and hashes
30083       premiumize.me does not support modification times or hashes,  therefore
30084       syncing will default to --size-only checking.  Note that using --update
30085       will work.
30086
30087   Restricted filename characters
30088       In   addition   to    the    default    restricted    characters    set
30089       (https://rclone.org/overview/#restricted-characters)    the   following
30090       characters are also replaced:
30091
30092       Character   Value   Replacement
30093       ────────────────────────────────
30094       \           0x5C        \
30095       "           0x22        "
30096
30097       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
30098       view/#invalid-utf8), as they can't be used in JSON strings.
30099
30100   Standard options
30101       Here are the standard options specific to premiumizeme (premiumize.me).
30102
30103   --premiumizeme-api-key
30104       API Key.
30105
30106       This is not normally used - use oauth instead.
30107
30108       • Config: api_key
30109
30110       • Env Var: RCLONE_PREMIUMIZEME_API_KEY
30111
30112       • Type: string
30113
30114       • Default: ""
30115
30116   Advanced options
30117       Here are the advanced options specific to premiumizeme (premiumize.me).
30118
30119   --premiumizeme-encoding
30120       This sets the encoding for the backend.
30121
30122       See  the  encoding  section  in  the overview (https://rclone.org/over
30123       view/#encoding) for more info.
30124
30125       • Config: encoding
30126
30127       • Env Var: RCLONE_PREMIUMIZEME_ENCODING
30128
30129       • Type: MultiEncoder
30130
30131       • Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
30132
30133   Limitations
30134       Note that premiumize.me is case insensitive so you can't  have  a  file
30135       called "Hello.doc" and one called "hello.doc".
30136
30137       premiumize.me  file  names can't have the \ or " characters in.  rclone
30138       maps these to and from an identical looking unicode equivalents \  and
30139
30140
30141       premiumize.me only supports filenames up to 255 characters in length.
30142

put.io

30144       Paths are specified as remote:path
30145
30146       put.io  paths may be as deep as required, e.g.  remote:directory/subdi‐
30147       rectory.
30148
30149   Configuration
30150       The initial setup for put.io involves getting a token from put.io which
30151       you need to do in your browser.  rclone config walks you through it.
30152
30153       Here is an example of how to make a remote called remote.  First run:
30154
30155               rclone config
30156
30157       This will guide you through an interactive setup process:
30158
30159              No remotes found - make a new one
30160              n) New remote
30161              s) Set configuration password
30162              q) Quit config
30163              n/s/q> n
30164              name> putio
30165              Type of storage to configure.
30166              Enter a string value. Press Enter for the default ("").
30167              Choose a number from below, or type in your own value
30168              [snip]
30169              XX / Put.io
30170                 \ "putio"
30171              [snip]
30172              Storage> putio
30173              ** See help for putio backend at: https://rclone.org/putio/ **
30174
30175              Remote config
30176              Use auto config?
30177               * Say Y if not sure
30178               * Say N if you are working on a remote or headless machine
30179              y) Yes
30180              n) No
30181              y/n> y
30182              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
30183              Log in and authorize rclone for access
30184              Waiting for code...
30185              Got code
30186              --------------------
30187              [putio]
30188              type = putio
30189              token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"}
30190              --------------------
30191              y) Yes this is OK
30192              e) Edit this remote
30193              d) Delete this remote
30194              y/e/d> y
30195              Current remotes:
30196
30197              Name                 Type
30198              ====                 ====
30199              putio                putio
30200
30201              e) Edit existing remote
30202              n) New remote
30203              d) Delete remote
30204              r) Rename remote
30205              c) Copy remote
30206              s) Set configuration password
30207              q) Quit config
30208              e/n/d/r/c/s/q> q
30209
30210       Note  that rclone runs a webserver on your local machine to collect the
30211       token as returned from Google if you use auto config mode.   This  only
30212       runs  from  the moment it opens your browser to the moment you get back
30213       the verification code.  This is on http://127.0.0.1:53682/ and this  it
30214       may  require  you  to  unblock it temporarily if you are running a host
30215       firewall, or use manual mode.
30216
30217       You can then use it like this,
30218
30219       List directories in top level of your put.io
30220
30221              rclone lsd remote:
30222
30223       List all the files in your put.io
30224
30225              rclone ls remote:
30226
30227       To copy a local directory to a put.io directory called backup
30228
30229              rclone copy /home/source remote:backup
30230
30231   Restricted filename characters
30232       In   addition   to    the    default    restricted    characters    set
30233       (https://rclone.org/overview/#restricted-characters)    the   following
30234       characters are also replaced:
30235
30236       Character   Value   Replacement
30237       ────────────────────────────────
30238       \           0x5C        \
30239
30240       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
30241       view/#invalid-utf8), as they can't be used in JSON strings.
30242
30243   Advanced options
30244       Here are the advanced options specific to putio (Put.io).
30245
30246   --putio-encoding
30247       This sets the encoding for the backend.
30248
30249       See  the  encoding  section  in  the overview (https://rclone.org/over
30250       view/#encoding) for more info.
30251
30252       • Config: encoding
30253
30254       • Env Var: RCLONE_PUTIO_ENCODING
30255
30256       • Type: MultiEncoder
30257
30258       • Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
30259

Seafile

30261       This is a backend for the  Seafile  (https://www.seafile.com/)  storage
30262       service: - It works with both the free community edition or the profes‐
30263       sional edition.  - Seafile versions 6.x and 7.x are all  supported.   -
30264       Encrypted  libraries  are  also  supported.   - It supports 2FA enabled
30265       users
30266
30267   Configuration
30268       There are two distinct modes you can setup your  remote:  -  you  point
30269       your  remote to the root of the server, meaning you don't specify a li‐
30270       brary during the configuration: Paths are specified as  remote:library.
30271       You may put subdirectories in too, e.g.  remote:library/path/to/dir.  -
30272       you point your remote to a specific library during  the  configuration:
30273       Paths  are  specified  as  remote:path/to/dir.  This is the recommended
30274       mode when using encrypted libraries.  (This mode is  possibly  slightly
30275       faster than the root mode)
30276
30277   Configuration in root mode
30278       Here is an example of making a seafile configuration for a user with no
30279       two-factor authentication.  First run
30280
30281              rclone config
30282
30283       This will guide you through an interactive setup process.  To authenti‐
30284       cate you will need the URL of your server, your email (or username) and
30285       your password.
30286
30287              No remotes found - make a new one
30288              n) New remote
30289              s) Set configuration password
30290              q) Quit config
30291              n/s/q> n
30292              name> seafile
30293              Type of storage to configure.
30294              Enter a string value. Press Enter for the default ("").
30295              Choose a number from below, or type in your own value
30296              [snip]
30297              XX / Seafile
30298                 \ "seafile"
30299              [snip]
30300              Storage> seafile
30301              ** See help for seafile backend at: https://rclone.org/seafile/ **
30302
30303              URL of seafile host to connect to
30304              Enter a string value. Press Enter for the default ("").
30305              Choose a number from below, or type in your own value
30306               1 / Connect to cloud.seafile.com
30307                 \ "https://cloud.seafile.com/"
30308              url> http://my.seafile.server/
30309              User name (usually email address)
30310              Enter a string value. Press Enter for the default ("").
30311              user> me@example.com
30312              Password
30313              y) Yes type in my own password
30314              g) Generate random password
30315              n) No leave this optional password blank (default)
30316              y/g> y
30317              Enter the password:
30318              password:
30319              Confirm the password:
30320              password:
30321              Two-factor authentication ('true' if the account has 2FA enabled)
30322              Enter a boolean value (true or false). Press Enter for the default ("false").
30323              2fa> false
30324              Name of the library. Leave blank to access all non-encrypted libraries.
30325              Enter a string value. Press Enter for the default ("").
30326              library>
30327              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
30328              y) Yes type in my own password
30329              g) Generate random password
30330              n) No leave this optional password blank (default)
30331              y/g/n> n
30332              Edit advanced config? (y/n)
30333              y) Yes
30334              n) No (default)
30335              y/n> n
30336              Remote config
30337              Two-factor authentication is not enabled on this account.
30338              --------------------
30339              [seafile]
30340              type = seafile
30341              url = http://my.seafile.server/
30342              user = me@example.com
30343              pass = *** ENCRYPTED ***
30344              2fa = false
30345              --------------------
30346              y) Yes this is OK (default)
30347              e) Edit this remote
30348              d) Delete this remote
30349              y/e/d> y
30350
30351       This remote is called seafile.  It's  pointing  to  the  root  of  your
30352       seafile server and can now be used like this:
30353
30354       See all libraries
30355
30356              rclone lsd seafile:
30357
30358       Create a new library
30359
30360              rclone mkdir seafile:library
30361
30362       List the contents of a library
30363
30364              rclone ls seafile:library
30365
30366       Sync  /home/local/directory  to the remote library, deleting any excess
30367       files in the library.
30368
30369              rclone sync -i /home/local/directory seafile:library
30370
30371   Configuration in library mode
30372       Here's an example of a configuration in library mode with a  user  that
30373       has the two-factor authentication enabled.  Your 2FA code will be asked
30374       at the end of the configuration, and will attempt to authenticate you:
30375
30376              No remotes found - make a new one
30377              n) New remote
30378              s) Set configuration password
30379              q) Quit config
30380              n/s/q> n
30381              name> seafile
30382              Type of storage to configure.
30383              Enter a string value. Press Enter for the default ("").
30384              Choose a number from below, or type in your own value
30385              [snip]
30386              XX / Seafile
30387                 \ "seafile"
30388              [snip]
30389              Storage> seafile
30390              ** See help for seafile backend at: https://rclone.org/seafile/ **
30391
30392              URL of seafile host to connect to
30393              Enter a string value. Press Enter for the default ("").
30394              Choose a number from below, or type in your own value
30395               1 / Connect to cloud.seafile.com
30396                 \ "https://cloud.seafile.com/"
30397              url> http://my.seafile.server/
30398              User name (usually email address)
30399              Enter a string value. Press Enter for the default ("").
30400              user> me@example.com
30401              Password
30402              y) Yes type in my own password
30403              g) Generate random password
30404              n) No leave this optional password blank (default)
30405              y/g> y
30406              Enter the password:
30407              password:
30408              Confirm the password:
30409              password:
30410              Two-factor authentication ('true' if the account has 2FA enabled)
30411              Enter a boolean value (true or false). Press Enter for the default ("false").
30412              2fa> true
30413              Name of the library. Leave blank to access all non-encrypted libraries.
30414              Enter a string value. Press Enter for the default ("").
30415              library> My Library
30416              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
30417              y) Yes type in my own password
30418              g) Generate random password
30419              n) No leave this optional password blank (default)
30420              y/g/n> n
30421              Edit advanced config? (y/n)
30422              y) Yes
30423              n) No (default)
30424              y/n> n
30425              Remote config
30426              Two-factor authentication: please enter your 2FA code
30427              2fa code> 123456
30428              Authenticating...
30429              Success!
30430              --------------------
30431              [seafile]
30432              type = seafile
30433              url = http://my.seafile.server/
30434              user = me@example.com
30435              pass =
30436              2fa = true
30437              library = My Library
30438              --------------------
30439              y) Yes this is OK (default)
30440              e) Edit this remote
30441              d) Delete this remote
30442              y/e/d> y
30443
30444       You'll notice your password is blank in the  configuration.   It's  be‐
30445       cause we only need the password to authenticate you once.
30446
30447       You specified My Library during the configuration.  The root of the re‐
30448       mote is pointing at the root of the library My Library:
30449
30450       See all files in the library:
30451
30452              rclone lsd seafile:
30453
30454       Create a new directory inside the library
30455
30456              rclone mkdir seafile:directory
30457
30458       List the contents of a directory
30459
30460              rclone ls seafile:directory
30461
30462       Sync /home/local/directory to the remote library, deleting  any  excess
30463       files in the library.
30464
30465              rclone sync -i /home/local/directory seafile:
30466
30467   --fast-list
30468       Seafile  version  7+ supports --fast-list which allows you to use fewer
30469       transactions  in  exchange  for  more  memory.   See  the  rclone  docs
30470       (https://rclone.org/docs/#fast-list)  for  more  details.   Please note
30471       this is not supported on seafile server version 6.x
30472
30473   Restricted filename characters
30474       In   addition   to    the    default    restricted    characters    set
30475       (https://rclone.org/overview/#restricted-characters)    the   following
30476       characters are also replaced:
30477
30478       Character   Value   Replacement
30479       ────────────────────────────────
30480       /           0x2F        /
30481       "           0x22        "
30482       \           0x5C        \
30483
30484       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
30485       view/#invalid-utf8), as they can't be used in JSON strings.
30486
30487   Seafile and rclone link
30488       Rclone  supports generating share links for non-encrypted libraries on‐
30489       ly.  They can either be for a file or a directory:
30490
30491              rclone link seafile:seafile-tutorial.doc
30492              http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
30493
30494       or if run on a directory you will get:
30495
30496              rclone link seafile:dir
30497              http://my.seafile.server/d/9ea2455f6f55478bbb0d/
30498
30499       Please note a share link is unique for each file or directory.  If  you
30500       run a link command on a file/dir that has already been shared, you will
30501       get the exact same link.
30502
30503   Compatibility
30504       It  has  been  actively  tested  using   the   seafile   docker   image
30505       (https://github.com/haiwen/seafile-docker)  of  these versions: - 6.3.4
30506       community edition - 7.0.5 community edition - 7.1.3 community edition
30507
30508       Versions below 6.0 are not supported.  Versions  between  6.0  and  6.3
30509       haven't been tested and might not work properly.
30510
30511   Standard options
30512       Here are the standard options specific to seafile (seafile).
30513
30514   --seafile-url
30515       URL of seafile host to connect to.
30516
30517       • Config: url
30518
30519       • Env Var: RCLONE_SEAFILE_URL
30520
30521       • Type: string
30522
30523       • Default: ""
30524
30525       • Examples:
30526
30527         • "https://cloud.seafile.com/"
30528
30529           • Connect to cloud.seafile.com.
30530
30531   --seafile-user
30532       User name (usually email address).
30533
30534       • Config: user
30535
30536       • Env Var: RCLONE_SEAFILE_USER
30537
30538       • Type: string
30539
30540       • Default: ""
30541
30542   --seafile-pass
30543       Password.
30544
30545       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
30546       (https://rclone.org/commands/rclone_obscure/).
30547
30548       • Config: pass
30549
30550       • Env Var: RCLONE_SEAFILE_PASS
30551
30552       • Type: string
30553
30554       • Default: ""
30555
30556   --seafile-2fa
30557       Two-factor authentication ('true' if the account has 2FA enabled).
30558
30559       • Config: 2fa
30560
30561       • Env Var: RCLONE_SEAFILE_2FA
30562
30563       • Type: bool
30564
30565       • Default: false
30566
30567   --seafile-library
30568       Name of the library.
30569
30570       Leave blank to access all non-encrypted libraries.
30571
30572       • Config: library
30573
30574       • Env Var: RCLONE_SEAFILE_LIBRARY
30575
30576       • Type: string
30577
30578       • Default: ""
30579
30580   --seafile-library-key
30581       Library password (for encrypted libraries only).
30582
30583       Leave blank if you pass it through the command line.
30584
30585       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
30586       (https://rclone.org/commands/rclone_obscure/).
30587
30588       • Config: library_key
30589
30590       • Env Var: RCLONE_SEAFILE_LIBRARY_KEY
30591
30592       • Type: string
30593
30594       • Default: ""
30595
30596   --seafile-auth-token
30597       Authentication token.
30598
30599       • Config: auth_token
30600
30601       • Env Var: RCLONE_SEAFILE_AUTH_TOKEN
30602
30603       • Type: string
30604
30605       • Default: ""
30606
30607   Advanced options
30608       Here are the advanced options specific to seafile (seafile).
30609
30610   --seafile-create-library
30611       Should rclone create a library if it doesn't exist.
30612
30613       • Config: create_library
30614
30615       • Env Var: RCLONE_SEAFILE_CREATE_LIBRARY
30616
30617       • Type: bool
30618
30619       • Default: false
30620
30621   --seafile-encoding
30622       This sets the encoding for the backend.
30623
30624       See  the  encoding  section  in  the overview (https://rclone.org/over
30625       view/#encoding) for more info.
30626
30627       • Config: encoding
30628
30629       • Env Var: RCLONE_SEAFILE_ENCODING
30630
30631       • Type: MultiEncoder
30632
30633       • Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8
30634

SFTP

30636       SFTP   is   the   Secure    (or    SSH)    File    Transfer    Protocol
30637       (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol).
30638
30639       The SFTP backend can be used with a number of different providers:
30640
30641       • C14
30642
30643       • rsync.net
30644
30645       SFTP runs over SSH v2 and is installed as standard with most modern SSH
30646       installations.
30647
30648       Paths are specified as remote:path.  If the path does not begin with  a
30649       /  it is relative to the home directory of the user.  An empty path re‐
30650       mote: refers to the user's home directory.  For example, rclone lsd re‐
30651       mote: would list the home directory of the user cofigured in the rclone
30652       remote config (i.e /home/sftpuser).  However, rclone lsd remote:/ would
30653       list the root directory for remote machine (i.e.  /)
30654
30655       Note  that  some  SFTP  servers will need the leading / - Synology is a
30656       good example of this.  rsync.net, on the other hand, requires users  to
30657       OMIT the leading /.
30658
30659   Configuration
30660       Here is an example of making an SFTP configuration.  First run
30661
30662              rclone config
30663
30664       This will guide you through an interactive setup process.
30665
30666              No remotes found - make a new one
30667              n) New remote
30668              s) Set configuration password
30669              q) Quit config
30670              n/s/q> n
30671              name> remote
30672              Type of storage to configure.
30673              Choose a number from below, or type in your own value
30674              [snip]
30675              XX / SSH/SFTP Connection
30676                 \ "sftp"
30677              [snip]
30678              Storage> sftp
30679              SSH host to connect to
30680              Choose a number from below, or type in your own value
30681               1 / Connect to example.com
30682                 \ "example.com"
30683              host> example.com
30684              SSH username, leave blank for current username, $USER
30685              user> sftpuser
30686              SSH port, leave blank to use default (22)
30687              port>
30688              SSH password, leave blank to use ssh-agent.
30689              y) Yes type in my own password
30690              g) Generate random password
30691              n) No leave this optional password blank
30692              y/g/n> n
30693              Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
30694              key_file>
30695              Remote config
30696              --------------------
30697              [remote]
30698              host = example.com
30699              user = sftpuser
30700              port =
30701              pass =
30702              key_file =
30703              --------------------
30704              y) Yes this is OK
30705              e) Edit this remote
30706              d) Delete this remote
30707              y/e/d> y
30708
30709       This remote is called remote and can now be used like this:
30710
30711       See all directories in the home directory
30712
30713              rclone lsd remote:
30714
30715       See all directories in the root directory
30716
30717              rclone lsd remote:/
30718
30719       Make a new directory
30720
30721              rclone mkdir remote:path/to/directory
30722
30723       List the contents of a directory
30724
30725              rclone ls remote:path/to/directory
30726
30727       Sync /home/local/directory to the remote directory, deleting any excess
30728       files in the directory.
30729
30730              rclone sync -i /home/local/directory remote:directory
30731
30732       Mount the remote path /srv/www-data/ to the local path /mnt/www-data
30733
30734              rclone mount remote:/srv/www-data/ /mnt/www-data
30735
30736   SSH Authentication
30737       The SFTP remote supports three authentication methods:
30738
30739       • Password
30740
30741       • Key file, including certificate signed keys
30742
30743       • ssh-agent
30744
30745       Key files should  be  PEM-encoded  private  key  files.   For  instance
30746       /home/$USER/.ssh/id_rsa.   Only  unencrypted  OpenSSH  or PEM encrypted
30747       files are supported.
30748
30749       The key file can be specified in either an external file (key_file)  or
30750       contained within the rclone config file (key_pem).  If using key_pem in
30751       the config file, the entry should be on a single line with new line (''
30752       or '') separating lines.  i.e.
30753
30754              key_pem = -----BEGIN RSA PRIVATE KEY-----\nMaMbaIXtE\n0gAMbMbaSsd\nMbaass\n-----END RSA PRIVATE KEY-----
30755
30756       This will generate it correctly for key_pem for use in the config:
30757
30758              awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
30759
30760       If  you  don't  specify pass, key_file, or key_pem or ask_password then
30761       rclone will attempt to contact an  ssh-agent.   You  can  also  specify
30762       key_use_agent  to  force  the  usage  of  an  ssh-agent.   In this case
30763       key_file or key_pem can also be specified to force the usage of a  spe‐
30764       cific key in the ssh-agent.
30765
30766       Using  an  ssh-agent  is the only way to load encrypted OpenSSH keys at
30767       the moment.
30768
30769       If you set the ask_password option, rclone will prompt for  a  password
30770       when needed and no password has been configured.
30771
30772   Certificate-signed keys
30773       With  traditional  key-based authentication, you configure your private
30774       key only, and the public key built into it will be used during the  au‐
30775       thentication process.
30776
30777       If  you have a certificate you may use it to sign your public key, cre‐
30778       ating a separate SSH user certificate that should be  used  instead  of
30779       the  plain  public  key  extracted from the private key.  Then you must
30780       provide the path to the  user  certificate  public  key  file  in  pub‐
30781       key_file.
30782
30783       Note:  This  is not the traditional public key paired with your private
30784       key, typically saved as /home/$USER/.ssh/id_rsa.pub.  Setting this path
30785       in pubkey_file will not work.
30786
30787       Example:
30788
30789              [remote]
30790              type = sftp
30791              host = example.com
30792              user = sftpuser
30793              key_file = ~/id_rsa
30794              pubkey_file = ~/id_rsa-cert.pub
30795
30796       If  you  concatenate a cert with a private key then you can specify the
30797       merged file in both places.
30798
30799       Note: the cert must come first in the file.  e.g.
30800
30801              cat id_rsa-cert.pub id_rsa > merged_key
30802
30803   Host key validation
30804       By default rclone will not check the server's host key for  validation.
30805       This  can  allow  an attacker to replace a server with their own and if
30806       you use password authentication then this can lead to that password be‐
30807       ing exposed.
30808
30809       Host key matching, using standard known_hosts files can be turned on by
30810       enabling the known_hosts_file option.  This can point to the file main‐
30811       tained by OpenSSH or can point to a unique file.
30812
30813       e.g.
30814
30815              [remote]
30816              type = sftp
30817              host = example.com
30818              user = sftpuser
30819              pass =
30820              known_hosts_file = ~/.ssh/known_hosts
30821
30822       There are some limitations:
30823
30824       • rclone  will  not manage this file for you.  If the key is missing or
30825         wrong then the connection will be refused.
30826
30827       • If the server is set up for a certificate host key then the entry  in
30828         the known_hosts file must be the @cert-authority entry for the CA
30829
30830       • Unlike  OpenSSH,  the libraries used by rclone do not permit (at time
30831         of writing) multiple host keys to be listed for a server.   Only  the
30832         first entry is used.
30833
30834       If  the  host  key provided by the server does not match the one in the
30835       file (or is missing) then the connection will be aborted and  an  error
30836       returned such as
30837
30838              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key mismatch
30839
30840       or
30841
30842              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key is unknown
30843
30844       If you see an error such as
30845
30846              NewFs: couldn't connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
30847
30848       then it is likely the server has presented a CA signed host certificate
30849       and you will need to add the appropriate @cert-authority entry.
30850
30851       The known_hosts_file setting can be set during rclone config as an  ad‐
30852       vanced option.
30853
30854   ssh-agent on macOS
30855       Note  that there seem to be various problems with using an ssh-agent on
30856       macOS due to recent changes in the OS.  The most effective  work-around
30857       seems to be to start an ssh-agent in each session, e.g.
30858
30859              eval `ssh-agent -s` && ssh-add -A
30860
30861       And then at the end of the session
30862
30863              eval `ssh-agent -k`
30864
30865       These commands can be used in scripts of course.
30866
30867   Modified time
30868       Modified times are stored on the server to 1 second precision.
30869
30870       Modified times are used in syncing and are fully supported.
30871
30872       Some  SFTP servers disable setting/modifying the file modification time
30873       after upload (for  example,  certain  configurations  of  ProFTPd  with
30874       mod_sftp).   If you are using one of these servers, you can set the op‐
30875       tion set_modtime = false in your RClone backend configuration  to  dis‐
30876       able this behaviour.
30877
30878   Standard options
30879       Here are the standard options specific to sftp (SSH/SFTP Connection).
30880
30881   --sftp-host
30882       SSH host to connect to.
30883
30884       E.g.  "example.com".
30885
30886       • Config: host
30887
30888       • Env Var: RCLONE_SFTP_HOST
30889
30890       • Type: string
30891
30892       • Default: ""
30893
30894   --sftp-user
30895       SSH username, leave blank for current username, $USER.
30896
30897       • Config: user
30898
30899       • Env Var: RCLONE_SFTP_USER
30900
30901       • Type: string
30902
30903       • Default: ""
30904
30905   --sftp-port
30906       SSH port, leave blank to use default (22).
30907
30908       • Config: port
30909
30910       • Env Var: RCLONE_SFTP_PORT
30911
30912       • Type: string
30913
30914       • Default: ""
30915
30916   --sftp-pass
30917       SSH password, leave blank to use ssh-agent.
30918
30919       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
30920       (https://rclone.org/commands/rclone_obscure/).
30921
30922       • Config: pass
30923
30924       • Env Var: RCLONE_SFTP_PASS
30925
30926       • Type: string
30927
30928       • Default: ""
30929
30930   --sftp-key-pem
30931       Raw PEM-encoded private key.
30932
30933       If specified, will override key_file parameter.
30934
30935       • Config: key_pem
30936
30937       • Env Var: RCLONE_SFTP_KEY_PEM
30938
30939       • Type: string
30940
30941       • Default: ""
30942
30943   --sftp-key-file
30944       Path to PEM-encoded private key file.
30945
30946       Leave blank or set key-use-agent to use ssh-agent.
30947
30948       Leading ~ will be expanded in the file name as will  environment  vari‐
30949       ables such as ${RCLONE_CONFIG_DIR}.
30950
30951       • Config: key_file
30952
30953       • Env Var: RCLONE_SFTP_KEY_FILE
30954
30955       • Type: string
30956
30957       • Default: ""
30958
30959   --sftp-key-file-pass
30960       The passphrase to decrypt the PEM-encoded private key file.
30961
30962       Only  PEM  encrypted key files (old OpenSSH format) are supported.  En‐
30963       crypted keys in the new OpenSSH format can't be used.
30964
30965       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
30966       (https://rclone.org/commands/rclone_obscure/).
30967
30968       • Config: key_file_pass
30969
30970       • Env Var: RCLONE_SFTP_KEY_FILE_PASS
30971
30972       • Type: string
30973
30974       • Default: ""
30975
30976   --sftp-pubkey-file
30977       Optional path to public key file.
30978
30979       Set this if you have a signed certificate you want to use for authenti‐
30980       cation.
30981
30982       Leading ~ will be expanded in the file name as will  environment  vari‐
30983       ables such as ${RCLONE_CONFIG_DIR}.
30984
30985       • Config: pubkey_file
30986
30987       • Env Var: RCLONE_SFTP_PUBKEY_FILE
30988
30989       • Type: string
30990
30991       • Default: ""
30992
30993   --sftp-key-use-agent
30994       When set forces the usage of the ssh-agent.
30995
30996       When key-file is also set, the ".pub" file of the specified key-file is
30997       read and only the associated key is requested from the ssh-agent.  This
30998       allows  to avoid Too many authentication failures for *username* errors
30999       when the ssh-agent contains many keys.
31000
31001       • Config: key_use_agent
31002
31003       • Env Var: RCLONE_SFTP_KEY_USE_AGENT
31004
31005       • Type: bool
31006
31007       • Default: false
31008
31009   --sftp-use-insecure-cipher
31010       Enable the use of insecure ciphers and key exchange methods.
31011
31012       This enables the use of the following insecure ciphers and key exchange
31013       methods:
31014
31015       • aes128-cbc
31016
31017       • aes192-cbc
31018
31019       • aes256-cbc
31020
31021       • 3des-cbc
31022
31023       • diffie-hellman-group-exchange-sha256
31024
31025       • diffie-hellman-group-exchange-sha1
31026
31027       Those algorithms are insecure and may allow plaintext data to be recov‐
31028       ered by an attacker.
31029
31030       • Config: use_insecure_cipher
31031
31032       • Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
31033
31034       • Type: bool
31035
31036       • Default: false
31037
31038       • Examples:
31039
31040         • "false"
31041
31042           • Use default Cipher list.
31043
31044         • "true"
31045
31046           • Enables  the  use  of  the  aes128-cbc  cipher  and  diffie-hell‐
31047             man-group-exchange-sha256, diffie-hellman-group-exchange-sha1 key
31048             exchange.
31049
31050   --sftp-disable-hashcheck
31051       Disable the execution of SSH commands to determine if remote file hash‐
31052       ing is available.
31053
31054       Leave  blank  or  set  to false to enable hashing (recommended), set to
31055       true to disable hashing.
31056
31057       • Config: disable_hashcheck
31058
31059       • Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
31060
31061       • Type: bool
31062
31063       • Default: false
31064
31065   Advanced options
31066       Here are the advanced options specific to sftp (SSH/SFTP Connection).
31067
31068   --sftp-known-hosts-file
31069       Optional path to known_hosts file.
31070
31071       Set this value to enable server host key validation.
31072
31073       Leading ~ will be expanded in the file name as will  environment  vari‐
31074       ables such as ${RCLONE_CONFIG_DIR}.
31075
31076       • Config: known_hosts_file
31077
31078       • Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE
31079
31080       • Type: string
31081
31082       • Default: ""
31083
31084       • Examples:
31085
31086         • "~/.ssh/known_hosts"
31087
31088           • Use OpenSSH's known_hosts file.
31089
31090   --sftp-ask-password
31091       Allow asking for SFTP password when needed.
31092
31093       If  this is set and no password is supplied then rclone will: - ask for
31094       a password - not contact the ssh agent
31095
31096       • Config: ask_password
31097
31098       • Env Var: RCLONE_SFTP_ASK_PASSWORD
31099
31100       • Type: bool
31101
31102       • Default: false
31103
31104   --sftp-path-override
31105       Override path used by SSH connection.
31106
31107       This allows checksum calculation when SFTP and SSH paths are different.
31108       This issue affects among others Synology NAS boxes.
31109
31110       Shared folders can be found in directories representing volumes
31111
31112              rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
31113
31114       Home directory can be found in a shared folder called "home"
31115
31116              rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory
31117
31118       • Config: path_override
31119
31120       • Env Var: RCLONE_SFTP_PATH_OVERRIDE
31121
31122       • Type: string
31123
31124       • Default: ""
31125
31126   --sftp-set-modtime
31127       Set the modified time on the remote if set.
31128
31129       • Config: set_modtime
31130
31131       • Env Var: RCLONE_SFTP_SET_MODTIME
31132
31133       • Type: bool
31134
31135       • Default: true
31136
31137   --sftp-md5sum-command
31138       The command used to read md5 hashes.
31139
31140       Leave blank for autodetect.
31141
31142       • Config: md5sum_command
31143
31144       • Env Var: RCLONE_SFTP_MD5SUM_COMMAND
31145
31146       • Type: string
31147
31148       • Default: ""
31149
31150   --sftp-sha1sum-command
31151       The command used to read sha1 hashes.
31152
31153       Leave blank for autodetect.
31154
31155       • Config: sha1sum_command
31156
31157       • Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
31158
31159       • Type: string
31160
31161       • Default: ""
31162
31163   --sftp-skip-links
31164       Set to skip any symlinks and any other non regular files.
31165
31166       • Config: skip_links
31167
31168       • Env Var: RCLONE_SFTP_SKIP_LINKS
31169
31170       • Type: bool
31171
31172       • Default: false
31173
31174   --sftp-subsystem
31175       Specifies the SSH2 subsystem on the remote host.
31176
31177       • Config: subsystem
31178
31179       • Env Var: RCLONE_SFTP_SUBSYSTEM
31180
31181       • Type: string
31182
31183       • Default: "sftp"
31184
31185   --sftp-server-command
31186       Specifies the path or command to run a sftp server on the remote host.
31187
31188       The subsystem option is ignored when server_command is defined.
31189
31190       • Config: server_command
31191
31192       • Env Var: RCLONE_SFTP_SERVER_COMMAND
31193
31194       • Type: string
31195
31196       • Default: ""
31197
31198   --sftp-use-fstat
31199       If set use fstat instead of stat.
31200
31201       Some  servers  limit  the  amount  of open files and calling Stat after
31202       opening the file will throw an error from  the  server.   Setting  this
31203       flag will call Fstat instead of Stat which is called on an already open
31204       file handle.
31205
31206       It has been found that this helps with IBM Sterling SFTP servers  which
31207       have  "extractability"  level  set  to 1 which means only 1 file can be
31208       opened at any given time.
31209
31210       • Config: use_fstat
31211
31212       • Env Var: RCLONE_SFTP_USE_FSTAT
31213
31214       • Type: bool
31215
31216       • Default: false
31217
31218   --sftp-disable-concurrent-reads
31219       If set don't use concurrent reads.
31220
31221       Normally concurrent reads are safe to use and not using them  will  de‐
31222       grade performance, so this option is disabled by default.
31223
31224       Some servers limit the amount number of times a file can be downloaded.
31225       Using concurrent reads can trigger this limit, so if you have a  server
31226       which returns
31227
31228              Failed to copy: file does not exist
31229
31230       Then you may need to enable this flag.
31231
31232       If concurrent reads are disabled, the use_fstat option is ignored.
31233
31234       • Config: disable_concurrent_reads
31235
31236       • Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_READS
31237
31238       • Type: bool
31239
31240       • Default: false
31241
31242   --sftp-disable-concurrent-writes
31243       If set don't use concurrent writes.
31244
31245       Normally  rclone uses concurrent writes to upload files.  This improves
31246       the performance greatly, especially for distant servers.
31247
31248       This option disables concurrent writes should that be necessary.
31249
31250       • Config: disable_concurrent_writes
31251
31252       • Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_WRITES
31253
31254       • Type: bool
31255
31256       • Default: false
31257
31258   --sftp-idle-timeout
31259       Max time before closing idle connections.
31260
31261       If no connections have been returned to the connection pool in the time
31262       given, rclone will empty the connection pool.
31263
31264       Set to 0 to keep connections indefinitely.
31265
31266       • Config: idle_timeout
31267
31268       • Env Var: RCLONE_SFTP_IDLE_TIMEOUT
31269
31270       • Type: Duration
31271
31272       • Default: 1m0s
31273
31274   Limitations
31275       SFTP  supports  checksums if the same login has shell access and md5sum
31276       or sha1sum as well as echo are  in  the  remote's  PATH.   This  remote
31277       checksumming  (file  hashing)  is  recommended  and enabled by default.
31278       Disabling the checksumming may be required if  you  are  connecting  to
31279       SFTP  servers which are not under your control, and to which the execu‐
31280       tion of remote commands is prohibited.  Set  the  configuration  option
31281       disable_hashcheck to true to disable checksumming.
31282
31283       SFTP  also supports about if the same login has shell access and df are
31284       in the remote's PATH.  about will return the total space,  free  space,
31285       and  used space on the remote for the disk of the specified path on the
31286       remote or, if not set, the disk of the root on the remote.  about  will
31287       fail  if  it does not have shell access or if df is not in the remote's
31288       PATH.
31289
31290       Note that some SFTP servers (e.g.  Synology) the  paths  are  different
31291       for  SSH and SFTP so the hashes can't be calculated properly.  For them
31292       using disable_hashcheck is a good idea.
31293
31294       The only ssh agent supported under Windows is Putty's pageant.
31295
31296       The Go SSH library disables the use of the  aes128-cbc  cipher  by  de‐
31297       fault,  due to security concerns.  This can be re-enabled on a per-con‐
31298       nection basis by setting the use_insecure_cipher setting in the config‐
31299       uration file to true.  Further details on the insecurity of this cipher
31300       can be  found  in  this  paper  (http://www.isg.rhul.ac.uk/~kp/SandPfi‐
31301       nal.pdf).
31302
31303       SFTP     isn't    supported    under    plan9    until    this    issue
31304       (https://github.com/pkg/sftp/issues/156) is fixed.
31305
31306       Note that since SFTP isn't HTTP based the following  flags  don't  work
31307       with it: --dump-headers, --dump-bodies, --dump-auth
31308
31309       Note that --timeout isn't supported (but --contimeout is).
31310
31311   C14
31312       C14 is supported through the SFTP backend.
31313
31314       See  C14's  documentation  (https://www.online.net/en/storage/c14-cold-
31315       storage)
31316
31317   rsync.net
31318       rsync.net is supported through the SFTP backend.
31319
31320       See     rsync.net's     documentation      of      rclone      examples
31321       (https://www.rsync.net/products/rclone.html).
31322

SugarSync

31324       SugarSync  (https://sugarsync.com)  is a cloud service that enables ac‐
31325       tive synchronization of files across computers and  other  devices  for
31326       file backup, access, syncing, and sharing.
31327
31328   Configuration
31329       The initial setup for SugarSync involves getting a token from SugarSync
31330       which you can do with rclone.  rclone config walks you through it.
31331
31332       Here is an example of how to make a remote called remote.  First run:
31333
31334               rclone config
31335
31336       This will guide you through an interactive setup process:
31337
31338              No remotes found - make a new one
31339              n) New remote
31340              s) Set configuration password
31341              q) Quit config
31342              n/s/q> n
31343              name> remote
31344              Type of storage to configure.
31345              Enter a string value. Press Enter for the default ("").
31346              Choose a number from below, or type in your own value
31347              [snip]
31348              XX / Sugarsync
31349                 \ "sugarsync"
31350              [snip]
31351              Storage> sugarsync
31352              ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
31353
31354              Sugarsync App ID.
31355              Leave blank to use rclone's.
31356              Enter a string value. Press Enter for the default ("").
31357              app_id>
31358              Sugarsync Access Key ID.
31359              Leave blank to use rclone's.
31360              Enter a string value. Press Enter for the default ("").
31361              access_key_id>
31362              Sugarsync Private Access Key
31363              Leave blank to use rclone's.
31364              Enter a string value. Press Enter for the default ("").
31365              private_access_key>
31366              Permanently delete files if true
31367              otherwise put them in the deleted files.
31368              Enter a boolean value (true or false). Press Enter for the default ("false").
31369              hard_delete>
31370              Edit advanced config? (y/n)
31371              y) Yes
31372              n) No (default)
31373              y/n> n
31374              Remote config
31375              Username (email address)> nick@craig-wood.com
31376              Your Sugarsync password is only required during setup and will not be stored.
31377              password:
31378              --------------------
31379              [remote]
31380              type = sugarsync
31381              refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
31382              --------------------
31383              y) Yes this is OK (default)
31384              e) Edit this remote
31385              d) Delete this remote
31386              y/e/d> y
31387
31388       Note that the config asks for your email and password but doesn't store
31389       them, it only uses them to get the initial token.
31390
31391       Once configured you can then use rclone like this,
31392
31393       List directories (sync folders) in top level of your SugarSync
31394
31395              rclone lsd remote:
31396
31397       List all the files in your SugarSync folder "Test"
31398
31399              rclone ls remote:Test
31400
31401       To copy a local directory to an SugarSync folder called backup
31402
31403              rclone copy /home/source remote:backup
31404
31405       Paths are specified as remote:path
31406
31407       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
31408
31409       NB  you can't create files in the top level folder you have to create a
31410       folder, which rclone will create as a "Sync Folder" with SugarSync.
31411
31412   Modified time and hashes
31413       SugarSync does not support  modification  times  or  hashes,  therefore
31414       syncing will default to --size-only checking.  Note that using --update
31415       will work as rclone can read the time files were uploaded.
31416
31417   Restricted filename characters
31418       SugarSync   replaces   the   default    restricted    characters    set
31419       (https://rclone.org/overview/#restricted-characters) except for DEL.
31420
31421       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
31422       view/#invalid-utf8), as they can't be used in XML strings.
31423
31424   Deleting files
31425       Deleted files will be moved to the "Deleted items" folder by default.
31426
31427       However you can supply the flag --sugarsync-hard-delete or set the con‐
31428       fig  parameter hard_delete = true if you would like files to be deleted
31429       straight away.
31430
31431   Standard options
31432       Here are the standard options specific to sugarsync (Sugarsync).
31433
31434   --sugarsync-app-id
31435       Sugarsync App ID.
31436
31437       Leave blank to use rclone's.
31438
31439       • Config: app_id
31440
31441       • Env Var: RCLONE_SUGARSYNC_APP_ID
31442
31443       • Type: string
31444
31445       • Default: ""
31446
31447   --sugarsync-access-key-id
31448       Sugarsync Access Key ID.
31449
31450       Leave blank to use rclone's.
31451
31452       • Config: access_key_id
31453
31454       • Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
31455
31456       • Type: string
31457
31458       • Default: ""
31459
31460   --sugarsync-private-access-key
31461       Sugarsync Private Access Key.
31462
31463       Leave blank to use rclone's.
31464
31465       • Config: private_access_key
31466
31467       • Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
31468
31469       • Type: string
31470
31471       • Default: ""
31472
31473   --sugarsync-hard-delete
31474       Permanently delete files if true otherwise  put  them  in  the  deleted
31475       files.
31476
31477       • Config: hard_delete
31478
31479       • Env Var: RCLONE_SUGARSYNC_HARD_DELETE
31480
31481       • Type: bool
31482
31483       • Default: false
31484
31485   Advanced options
31486       Here are the advanced options specific to sugarsync (Sugarsync).
31487
31488   --sugarsync-refresh-token
31489       Sugarsync refresh token.
31490
31491       Leave blank normally, will be auto configured by rclone.
31492
31493       • Config: refresh_token
31494
31495       • Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
31496
31497       • Type: string
31498
31499       • Default: ""
31500
31501   --sugarsync-authorization
31502       Sugarsync authorization.
31503
31504       Leave blank normally, will be auto configured by rclone.
31505
31506       • Config: authorization
31507
31508       • Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
31509
31510       • Type: string
31511
31512       • Default: ""
31513
31514   --sugarsync-authorization-expiry
31515       Sugarsync authorization expiry.
31516
31517       Leave blank normally, will be auto configured by rclone.
31518
31519       • Config: authorization_expiry
31520
31521       • Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
31522
31523       • Type: string
31524
31525       • Default: ""
31526
31527   --sugarsync-user
31528       Sugarsync user.
31529
31530       Leave blank normally, will be auto configured by rclone.
31531
31532       • Config: user
31533
31534       • Env Var: RCLONE_SUGARSYNC_USER
31535
31536       • Type: string
31537
31538       • Default: ""
31539
31540   --sugarsync-root-id
31541       Sugarsync root id.
31542
31543       Leave blank normally, will be auto configured by rclone.
31544
31545       • Config: root_id
31546
31547       • Env Var: RCLONE_SUGARSYNC_ROOT_ID
31548
31549       • Type: string
31550
31551       • Default: ""
31552
31553   --sugarsync-deleted-id
31554       Sugarsync deleted folder id.
31555
31556       Leave blank normally, will be auto configured by rclone.
31557
31558       • Config: deleted_id
31559
31560       • Env Var: RCLONE_SUGARSYNC_DELETED_ID
31561
31562       • Type: string
31563
31564       • Default: ""
31565
31566   --sugarsync-encoding
31567       This sets the encoding for the backend.
31568
31569       See  the  encoding  section  in  the overview (https://rclone.org/over
31570       view/#encoding) for more info.
31571
31572       • Config: encoding
31573
31574       • Env Var: RCLONE_SUGARSYNC_ENCODING
31575
31576       • Type: MultiEncoder
31577
31578       • Default: Slash,Ctl,InvalidUtf8,Dot
31579
31580   Limitations
31581       rclone about is not supported by the SugarSync backend.  Backends with‐
31582       out  this capability cannot determine free space for an rclone mount or
31583       use policy mfs (most free space) as a member of an rclone union remote.
31584
31585       See   List   of   backends   that   do   not   support   rclone   about
31586       (https://rclone.org/overview/#optional-features)   See   rclone   about
31587       (https://rclone.org/commands/rclone_about/)
31588

Tardigrade

31590       Tardigrade  (https://tardigrade.io)  is  an  encrypted,   secure,   and
31591       cost-effective  object  storage service that enables you to store, back
31592       up, and archive large amounts of data in a decentralized manner.
31593
31594   Configuration
31595       To make a new Tardigrade configuration you need one of the following: *
31596       Access   Grant   that   someone  else  shared  with  you.   *  API  Key
31597       (https://documentation.tardigrade.io/getting-started/uploading-your-
31598       first-object/create-an-api-key)  of a Tardigrade project you are a mem‐
31599       ber of.
31600
31601       Here is an example of how to make a remote called remote.  First run:
31602
31603               rclone config
31604
31605       This will guide you through an interactive setup process:
31606
31607   Setup with access grant
31608              No remotes found - make a new one
31609              n) New remote
31610              s) Set configuration password
31611              q) Quit config
31612              n/s/q> n
31613              name> remote
31614              Type of storage to configure.
31615              Enter a string value. Press Enter for the default ("").
31616              Choose a number from below, or type in your own value
31617              [snip]
31618              XX / Tardigrade Decentralized Cloud Storage
31619                 \ "tardigrade"
31620              [snip]
31621              Storage> tardigrade
31622              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
31623
31624              Choose an authentication method.
31625              Enter a string value. Press Enter for the default ("existing").
31626              Choose a number from below, or type in your own value
31627               1 / Use an existing access grant.
31628                 \ "existing"
31629               2 / Create a new access grant from satellite address, API key, and passphrase.
31630                 \ "new"
31631              provider> existing
31632              Access Grant.
31633              Enter a string value. Press Enter for the default ("").
31634              access_grant> your-access-grant-received-by-someone-else
31635              Remote config
31636              --------------------
31637              [remote]
31638              type = tardigrade
31639              access_grant = your-access-grant-received-by-someone-else
31640              --------------------
31641              y) Yes this is OK (default)
31642              e) Edit this remote
31643              d) Delete this remote
31644              y/e/d> y
31645
31646   Setup with API key and passphrase
31647              No remotes found - make a new one
31648              n) New remote
31649              s) Set configuration password
31650              q) Quit config
31651              n/s/q> n
31652              name> remote
31653              Type of storage to configure.
31654              Enter a string value. Press Enter for the default ("").
31655              Choose a number from below, or type in your own value
31656              [snip]
31657              XX / Tardigrade Decentralized Cloud Storage
31658                 \ "tardigrade"
31659              [snip]
31660              Storage> tardigrade
31661              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
31662
31663              Choose an authentication method.
31664              Enter a string value. Press Enter for the default ("existing").
31665              Choose a number from below, or type in your own value
31666               1 / Use an existing access grant.
31667                 \ "existing"
31668               2 / Create a new access grant from satellite address, API key, and passphrase.
31669                 \ "new"
31670              provider> new
31671              Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
31672              Enter a string value. Press Enter for the default ("us-central-1.tardigrade.io").
31673              Choose a number from below, or type in your own value
31674               1 / US Central 1
31675                 \ "us-central-1.tardigrade.io"
31676               2 / Europe West 1
31677                 \ "europe-west-1.tardigrade.io"
31678               3 / Asia East 1
31679                 \ "asia-east-1.tardigrade.io"
31680              satellite_address> 1
31681              API Key.
31682              Enter a string value. Press Enter for the default ("").
31683              api_key> your-api-key-for-your-tardigrade-project
31684              Encryption Passphrase. To access existing objects enter passphrase used for uploading.
31685              Enter a string value. Press Enter for the default ("").
31686              passphrase> your-human-readable-encryption-passphrase
31687              Remote config
31688              --------------------
31689              [remote]
31690              type = tardigrade
31691              satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us-central-1.tardigrade.io:7777
31692              api_key = your-api-key-for-your-tardigrade-project
31693              passphrase = your-human-readable-encryption-passphrase
31694              access_grant = the-access-grant-generated-from-the-api-key-and-passphrase
31695              --------------------
31696              y) Yes this is OK (default)
31697              e) Edit this remote
31698              d) Delete this remote
31699              y/e/d> y
31700
31701   Standard options
31702       Here are the standard options specific to tardigrade (Tardigrade Decen‐
31703       tralized Cloud Storage).
31704
31705   --tardigrade-provider
31706       Choose an authentication method.
31707
31708       • Config: provider
31709
31710       • Env Var: RCLONE_TARDIGRADE_PROVIDER
31711
31712       • Type: string
31713
31714       • Default: "existing"
31715
31716       • Examples:
31717
31718         • "existing"
31719
31720           • Use an existing access grant.
31721
31722         • "new"
31723
31724           • Create  a  new  access grant from satellite address, API key, and
31725             passphrase.
31726
31727   --tardigrade-access-grant
31728       Access grant.
31729
31730       • Config: access_grant
31731
31732       • Env Var: RCLONE_TARDIGRADE_ACCESS_GRANT
31733
31734       • Type: string
31735
31736       • Default: ""
31737
31738   --tardigrade-satellite-address
31739       Satellite address.
31740
31741       Custom  satellite  address  should  match  the  format:   <nodeid>@<ad‐
31742       dress>:<port>.
31743
31744       • Config: satellite_address
31745
31746       • Env Var: RCLONE_TARDIGRADE_SATELLITE_ADDRESS
31747
31748       • Type: string
31749
31750       • Default: "us-central-1.tardigrade.io"
31751
31752       • Examples:
31753
31754         • "us-central-1.tardigrade.io"
31755
31756           • US Central 1
31757
31758         • "europe-west-1.tardigrade.io"
31759
31760           • Europe West 1
31761
31762         • "asia-east-1.tardigrade.io"
31763
31764           • Asia East 1
31765
31766   --tardigrade-api-key
31767       API key.
31768
31769       • Config: api_key
31770
31771       • Env Var: RCLONE_TARDIGRADE_API_KEY
31772
31773       • Type: string
31774
31775       • Default: ""
31776
31777   --tardigrade-passphrase
31778       Encryption passphrase.
31779
31780       To access existing objects enter passphrase used for uploading.
31781
31782       • Config: passphrase
31783
31784       • Env Var: RCLONE_TARDIGRADE_PASSPHRASE
31785
31786       • Type: string
31787
31788       • Default: ""
31789
31790   Usage
31791       Paths  are specified as remote:bucket (or remote: for the lsf command.)
31792       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
31793
31794       Once configured you can then use rclone like this.
31795
31796   Create a new bucket
31797       Use the mkdir command to create new bucket, e.g.  bucket.
31798
31799              rclone mkdir remote:bucket
31800
31801   List all buckets
31802       Use the lsf command to list all buckets.
31803
31804              rclone lsf remote:
31805
31806       Note the colon (:) character at the end of the command line.
31807
31808   Delete a bucket
31809       Use the rmdir command to delete an empty bucket.
31810
31811              rclone rmdir remote:bucket
31812
31813       Use the purge command to delete a non-empty bucket with  all  its  con‐
31814       tent.
31815
31816              rclone purge remote:bucket
31817
31818   Upload objects
31819       Use the copy command to upload an object.
31820
31821              rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
31822
31823       The  --progress flag is for displaying progress information.  Remove it
31824       if you don't need this information.
31825
31826       Use a folder in the local path to upload all its objects.
31827
31828              rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
31829
31830       Only modified files will be copied.
31831
31832   List objects
31833       Use the ls command to list recursively all objects in a bucket.
31834
31835              rclone ls remote:bucket
31836
31837       Add the folder to the remote path to list recursively  all  objects  in
31838       this folder.
31839
31840              rclone ls remote:bucket/path/to/dir/
31841
31842       Use  the lsf command to list non-recursively all objects in a bucket or
31843       a folder.
31844
31845              rclone lsf remote:bucket/path/to/dir/
31846
31847   Download objects
31848       Use the copy command to download an object.
31849
31850              rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
31851
31852       The --progress flag is for displaying progress information.  Remove  it
31853       if you don't need this information.
31854
31855       Use a folder in the remote path to download all its objects.
31856
31857              rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
31858
31859   Delete objects
31860       Use the deletefile command to delete a single object.
31861
31862              rclone deletefile remote:bucket/path/to/dir/file.ext
31863
31864       Use the delete command to delete all object in a folder.
31865
31866              rclone delete remote:bucket/path/to/dir/
31867
31868   Print the total size of objects
31869       Use  the size command to print the total size of objects in a bucket or
31870       a folder.
31871
31872              rclone size remote:bucket/path/to/dir/
31873
31874   Sync two Locations
31875       Use the sync command to sync the source to  the  destination,  changing
31876       the destination only, deleting any excess files.
31877
31878              rclone sync -i --progress /home/local/directory/ remote:bucket/path/to/dir/
31879
31880       The  --progress flag is for displaying progress information.  Remove it
31881       if you don't need this information.
31882
31883       Since this can cause data loss, test first with the --dry-run  flag  to
31884       see exactly what would be copied and deleted.
31885
31886       The sync can be done also from Tardigrade to the local file system.
31887
31888              rclone sync -i --progress remote:bucket/path/to/dir/ /home/local/directory/
31889
31890       Or between two Tardigrade buckets.
31891
31892              rclone sync -i --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
31893
31894       Or even between another cloud storage and Tardigrade.
31895
31896              rclone sync -i --progress s3:bucket/path/to/dir/ tardigrade:bucket/path/to/dir/
31897
31898   Limitations
31899       rclone  about is not supported by the rclone Tardigrade backend.  Back‐
31900       ends without this capability cannot determine free space for an  rclone
31901       mount  or  use  policy  mfs  (most free space) as a member of an rclone
31902       union remote.
31903
31904       See   List   of   backends   that   do   not   support   rclone   about
31905       (https://rclone.org/overview/#optional-features)   See   rclone   about
31906       (https://rclone.org/commands/rclone_about/)
31907
31908   Known issues
31909       If you get errors like too many open files this  usually  happens  when
31910       the default ulimit for system max open files is exceeded.  Native Storj
31911       protocol opens a large number of TCP  connections  (each  of  which  is
31912       counted  as  an  open file).  For a single upload stream you can expect
31913       110 TCP connections to be opened.  For a single download stream you can
31914       expect  35.   This batch of connections will be opened for every 64 MiB
31915       segment and you should also expect TCP connections to  be  reused.   If
31916       you  do many transfers you eventually open a connection to most storage
31917       nodes (thousands of nodes).
31918
31919       To fix these, please raise your system limits.  You can do this issuing
31920       a  ulimit  -n  65536  just before you run rclone.  To change the limits
31921       more permanently you can add this to your shell  startup  script,  e.g.
31922       $HOME/.bashrc,   or   change  the  system-wide  configuration,  usually
31923       /etc/sysctl.conf and/or /etc/security/limits.conf, but please refer  to
31924       your operating system manual.
31925

Uptobox

31927       This  is a Backend for Uptobox file storage service.  Uptobox is closer
31928       to a one-click hoster than a traditional  cloud  storage  provider  and
31929       therefore not suitable for long term storage.
31930
31931       Paths are specified as remote:path
31932
31933       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
31934
31935   Configuration
31936       To  configure  an  Uptobox backend you'll need your personal api token.
31937       You'll find it in  your  account  settings  (https://uptobox.com/my_ac
31938       count)
31939
31940       Here  is  an example of how to make a remote called remote with the de‐
31941       fault setup.  First run:
31942
31943              rclone config
31944
31945       This will guide you through an interactive setup process:
31946
31947              Current remotes:
31948
31949              Name                 Type
31950              ====                 ====
31951              TestUptobox          uptobox
31952
31953              e) Edit existing remote
31954              n) New remote
31955              d) Delete remote
31956              r) Rename remote
31957              c) Copy remote
31958              s) Set configuration password
31959              q) Quit config
31960              e/n/d/r/c/s/q> n
31961              name> uptobox
31962              Type of storage to configure.
31963              Enter a string value. Press Enter for the default ("").
31964              Choose a number from below, or type in your own value
31965              [...]
31966              37 / Uptobox
31967                 \ "uptobox"
31968              [...]
31969              Storage> uptobox
31970              ** See help for uptobox backend at: https://rclone.org/uptobox/ **
31971
31972              Your API Key, get it from https://uptobox.com/my_account
31973              Enter a string value. Press Enter for the default ("").
31974              api_key> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
31975              Edit advanced config? (y/n)
31976              y) Yes
31977              n) No (default)
31978              y/n> n
31979              Remote config
31980              --------------------
31981              [uptobox]
31982              type = uptobox
31983              api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
31984              --------------------
31985              y) Yes this is OK (default)
31986              e) Edit this remote
31987              d) Delete this remote
31988              y/e/d>
31989
31990       Once configured you can then use rclone like this,
31991
31992       List directories in top level of your Uptobox
31993
31994              rclone lsd remote:
31995
31996       List all the files in your Uptobox
31997
31998              rclone ls remote:
31999
32000       To copy a local directory to an Uptobox directory called backup
32001
32002              rclone copy /home/source remote:backup
32003
32004   Modified time and hashes
32005       Uptobox supports neither modified times nor checksums.
32006
32007   Restricted filename characters
32008       In   addition   to    the    default    restricted    characters    set
32009       (https://rclone.org/overview/#restricted-characters)    the   following
32010       characters are also replaced:
32011
32012       Character   Value   Replacement
32013       ────────────────────────────────
32014       "           0x22        "
32015       `           0x41        `
32016
32017       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
32018       view/#invalid-utf8), as they can't be used in XML strings.
32019
32020   Standard options
32021       Here are the standard options specific to uptobox (Uptobox).
32022
32023   --uptobox-access-token
32024       Your access token.
32025
32026       Get it from https://uptobox.com/my_account.
32027
32028       • Config: access_token
32029
32030       • Env Var: RCLONE_UPTOBOX_ACCESS_TOKEN
32031
32032       • Type: string
32033
32034       • Default: ""
32035
32036   Advanced options
32037       Here are the advanced options specific to uptobox (Uptobox).
32038
32039   --uptobox-encoding
32040       This sets the encoding for the backend.
32041
32042       See  the  encoding  section  in  the overview (https://rclone.org/over
32043       view/#encoding) for more info.
32044
32045       • Config: encoding
32046
32047       • Env Var: RCLONE_UPTOBOX_ENCODING
32048
32049       • Type: MultiEncoder
32050
32051       • Default:       Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,In‐
32052         validUtf8,Dot
32053
32054   Limitations
32055       Uptobox  will  delete  inactive files that have not been accessed in 60
32056       days.
32057
32058       rclone about is not supported by this backend an overview of used space
32059       can however been seen in the uptobox web interface.
32060

Union

32062       The  union remote provides a unification similar to UnionFS using other
32063       remotes.
32064
32065       Paths may be as deep as required or a local path, e.g.  remote:directo‐
32066       ry/subdirectory or /directory/subdirectory.
32067
32068       During  the  initial  setup with rclone config you will specify the up‐
32069       stream remotes as a space separated list.  The upstream remotes can ei‐
32070       ther be a local paths or other remotes.
32071
32072       Attribute  :ro  and :nc can be attach to the end of path to tag the re‐
32073       mote as read only or no create, e.g.   remote:directory/subdirectory:ro
32074       or remote:directory/subdirectory:nc.
32075
32076       Subfolders  can  be  used  in  upstream remotes.  Assume a union remote
32077       named backup with the remotes mydrive:private/backup.  Invoking  rclone
32078       mkdir  backup:desktop  is exactly the same as invoking rclone mkdir my‐
32079       drive:private/backup/desktop.
32080
32081       There will be no special handling of  paths  containing  ..   segments.
32082       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
32083       rclone mkdir mydrive:private/backup/../desktop.
32084
32085   Configuration
32086       Here is an example of how to make a union called remote for local fold‐
32087       ers.  First run:
32088
32089               rclone config
32090
32091       This will guide you through an interactive setup process:
32092
32093              No remotes found - make a new one
32094              n) New remote
32095              s) Set configuration password
32096              q) Quit config
32097              n/s/q> n
32098              name> remote
32099              Type of storage to configure.
32100              Choose a number from below, or type in your own value
32101              [snip]
32102              XX / Union merges the contents of several remotes
32103                 \ "union"
32104              [snip]
32105              Storage> union
32106              List of space separated upstreams.
32107              Can be 'upstreama:test/dir upstreamb:', '\"upstreama:test/space:ro dir\" upstreamb:', etc.
32108              Enter a string value. Press Enter for the default ("").
32109              upstreams> remote1:dir1 remote2:dir2 remote3:dir3
32110              Policy to choose upstream on ACTION class.
32111              Enter a string value. Press Enter for the default ("epall").
32112              action_policy>
32113              Policy to choose upstream on CREATE class.
32114              Enter a string value. Press Enter for the default ("epmfs").
32115              create_policy>
32116              Policy to choose upstream on SEARCH class.
32117              Enter a string value. Press Enter for the default ("ff").
32118              search_policy>
32119              Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used.
32120              Enter a signed integer. Press Enter for the default ("120").
32121              cache_time>
32122              Remote config
32123              --------------------
32124              [remote]
32125              type = union
32126              upstreams = remote1:dir1 remote2:dir2 remote3:dir3
32127              --------------------
32128              y) Yes this is OK
32129              e) Edit this remote
32130              d) Delete this remote
32131              y/e/d> y
32132              Current remotes:
32133
32134              Name                 Type
32135              ====                 ====
32136              remote               union
32137
32138              e) Edit existing remote
32139              n) New remote
32140              d) Delete remote
32141              r) Rename remote
32142              c) Copy remote
32143              s) Set configuration password
32144              q) Quit config
32145              e/n/d/r/c/s/q> q
32146
32147       Once configured you can then use rclone like this,
32148
32149       List  directories  in  top  level in remote1:dir1, remote2:dir2 and re‐
32150       mote3:dir3
32151
32152              rclone lsd remote:
32153
32154       List all the files in remote1:dir1, remote2:dir2 and remote3:dir3
32155
32156              rclone ls remote:
32157
32158       Copy another local directory to  the  union  directory  called  source,
32159       which will be placed into remote3:dir3
32160
32161              rclone copy C:\source remote:source
32162
32163   Behavior / Policies
32164       The   behavior  of  union  backend  is  inspired  by  trapexit/mergerfs
32165       (https://github.com/trapexit/mergerfs).  All functions are grouped into
32166       3  categories:  action,  create  and search.  These functions and cate‐
32167       gories can be assigned a policy which dictates what file  or  directory
32168       is chosen when performing that behavior.  Any policy can be assigned to
32169       a function or category though some may not be very useful in  practice.
32170       For  instance:  rand  (random) may be useful for file creation (create)
32171       but could lead to very odd behavior if used for delete  if  there  were
32172       more than one copy of the file.
32173
32174   Function / Category classifications
32175       Cate‐    Description       Functions
32176       gory
32177       ─────────────────────────────────────────────────────────────────────────────
32178       action   Writing  Exist‐   move, rmdir, rmdirs, delete, purge and copy, sync
32179                ing file          (as destination when file exist)
32180       create   Create  non-ex‐   copy, sync (as destination when file not exist)
32181                isting file
32182       search   Reading     and   ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync
32183                listing file      (as source)
32184       N/A                        size, about
32185
32186   Path Preservation
32187       Policies,  as described below, are of two basic types.  path preserving
32188       and non-path preserving.
32189
32190       All policies which start with ep (epff, eplfs,  eplus,  epmfs,  eprand)
32191       are path preserving.  ep stands for existing path.
32192
32193       A  path  preserving policy will only consider upstreams where the rela‐
32194       tive path being accessed already exists.
32195
32196       When using non-path preserving policies paths will be created in target
32197       upstreams as necessary.
32198
32199   Quota Relevant Policies
32200       Some policies rely on quota information.  These policies should be used
32201       only if your upstreams support the respective quota fields.
32202
32203       Policy       Required Field
32204       ────────────────────────────
32205       lfs, eplfs   Free
32206       mfs, epmfs   Free
32207       lus, eplus   Used
32208       lno, eplno   Objects
32209
32210       To check if your upstream supports the field, run rclone about  remote:
32211       [flags] and see if the required field exists.
32212
32213   Filters
32214       Policies basically search upstream remotes and create a list of files /
32215       paths for functions to work on.  The policy is responsible for  filter‐
32216       ing  and sorting.  The policy type defines the sorting but filtering is
32217       mostly uniform as described below.
32218
32219       • No search policies filter.
32220
32221       • All action policies will filter  out  remotes  which  are  tagged  as
32222         read-only.
32223
32224       • All create policies will filter out remotes which are tagged read-on‐
32225         ly or no-create.
32226
32227       If all remotes are filtered an error will be returned.
32228
32229   Policy descriptions
32230       The   policies   definition   are   inspired    by    trapexit/mergerfs
32231       (https://github.com/trapexit/mergerfs)  but not exactly the same.  Some
32232       policy definition could be different due to the much larger latency  of
32233       remote file systems.
32234
32235       Policy             Description
32236       ──────────────────────────────────────────────────────────────────────────
32237       all                Search category: same as epall.  Action category: same
32238                          as epall.  Create category: act on all upstreams.
32239       epall  (existing   Search  category:  Given this order configured, act on
32240       path, all)         the first one found where the  relative  path  exists.
32241                          Action category: apply to all found.  Create category:
32242                          act on all upstreams where the relative path exists.
32243       epff   (existing   Act on the first one found, by the time upstreams  re‐
32244       path,      first   ply, where the relative path exists.
32245       found)
32246       eplfs  (existing   Of all the upstreams on which the relative path exists
32247       path, least free   choose the one with the least free space.
32248       space)
32249       eplus  (existing   Of all the upstreams on which the relative path exists
32250       path, least used   choose the one with the least used space.
32251       space)
32252       eplno  (existing   Of all the upstreams on which the relative path exists
32253       path, least num‐   choose the one with the least number of objects.
32254       ber of objects)
32255       epmfs  (existing   Of all the upstreams on which the relative path exists
32256       path,  most free   choose the one with the most free space.
32257       space)
32258       eprand (existing   Calls epall and then randomizes.  Returns only one up‐
32259       path, random)      stream.
32260       ff (first found)   Search  category: same as epff.  Action category: same
32261                          as epff.  Create category: Act on the first one  found
32262                          by the time upstreams reply.
32263       lfs  (least free   Search category: same as eplfs.  Action category: same
32264       space)             as eplfs.  Create category: Pick the upstream with the
32265                          least available free space.
32266       lus (least  used   Search category: same as eplus.  Action category: same
32267       space)             as eplus.  Create category: Pick the upstream with the
32268                          least used space.
32269       lno  (least num‐   Search category: same as eplno.  Action category: same
32270       ber of objects)    as eplno.  Create category: Pick the upstream with the
32271                          least number of objects.
32272       mfs  (most  free   Search category: same as epmfs.  Action category: same
32273       space)             as epmfs.  Create category: Pick the upstream with the
32274                          most available free space.
32275       newest             Pick the file / directory with the largest mtime.
32276       rand (random)      Calls  all  and then randomizes.  Returns only one up‐
32277                          stream.
32278
32279   Standard options
32280       Here are the standard options specific to union (Union merges the  con‐
32281       tents of several upstream fs).
32282
32283   --union-upstreams
32284       List of space separated upstreams.
32285
32286       Can  be 'upstreama:test/dir upstreamb:', '"upstreama:test/space:ro dir"
32287       upstreamb:', etc.
32288
32289       • Config: upstreams
32290
32291       • Env Var: RCLONE_UNION_UPSTREAMS
32292
32293       • Type: string
32294
32295       • Default: ""
32296
32297   --union-action-policy
32298       Policy to choose upstream on ACTION category.
32299
32300       • Config: action_policy
32301
32302       • Env Var: RCLONE_UNION_ACTION_POLICY
32303
32304       • Type: string
32305
32306       • Default: "epall"
32307
32308   --union-create-policy
32309       Policy to choose upstream on CREATE category.
32310
32311       • Config: create_policy
32312
32313       • Env Var: RCLONE_UNION_CREATE_POLICY
32314
32315       • Type: string
32316
32317       • Default: "epmfs"
32318
32319   --union-search-policy
32320       Policy to choose upstream on SEARCH category.
32321
32322       • Config: search_policy
32323
32324       • Env Var: RCLONE_UNION_SEARCH_POLICY
32325
32326       • Type: string
32327
32328       • Default: "ff"
32329
32330   --union-cache-time
32331       Cache time of usage and free space (in seconds).
32332
32333       This option is only useful when a path preserving policy is used.
32334
32335       • Config: cache_time
32336
32337       • Env Var: RCLONE_UNION_CACHE_TIME
32338
32339       • Type: int
32340
32341       • Default: 120
32342

WebDAV

32344       Paths are specified as remote:path
32345
32346       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
32347
32348   Configuration
32349       To configure the WebDAV remote you will need to have a URL for it,  and
32350       a  username and password.  If you know what kind of system you are con‐
32351       necting to then rclone can enable extra features.
32352
32353       Here is an example of how to make a remote called remote.  First run:
32354
32355               rclone config
32356
32357       This will guide you through an interactive setup process:
32358
32359              No remotes found - make a new one
32360              n) New remote
32361              s) Set configuration password
32362              q) Quit config
32363              n/s/q> n
32364              name> remote
32365              Type of storage to configure.
32366              Choose a number from below, or type in your own value
32367              [snip]
32368              XX / Webdav
32369                 \ "webdav"
32370              [snip]
32371              Storage> webdav
32372              URL of http host to connect to
32373              Choose a number from below, or type in your own value
32374               1 / Connect to example.com
32375                 \ "https://example.com"
32376              url> https://example.com/remote.php/webdav/
32377              Name of the Webdav site/service/software you are using
32378              Choose a number from below, or type in your own value
32379               1 / Nextcloud
32380                 \ "nextcloud"
32381               2 / Owncloud
32382                 \ "owncloud"
32383               3 / Sharepoint Online, authenticated by Microsoft account.
32384                 \ "sharepoint"
32385               4 / Sharepoint with NTLM authentication. Usually self-hosted or on-premises.
32386                 \ "sharepoint-ntlm"
32387               5 / Other site/service or software
32388                 \ "other"
32389              vendor> 1
32390              User name
32391              user> user
32392              Password.
32393              y) Yes type in my own password
32394              g) Generate random password
32395              n) No leave this optional password blank
32396              y/g/n> y
32397              Enter the password:
32398              password:
32399              Confirm the password:
32400              password:
32401              Bearer token instead of user/pass (e.g. a Macaroon)
32402              bearer_token>
32403              Remote config
32404              --------------------
32405              [remote]
32406              type = webdav
32407              url = https://example.com/remote.php/webdav/
32408              vendor = nextcloud
32409              user = user
32410              pass = *** ENCRYPTED ***
32411              bearer_token =
32412              --------------------
32413              y) Yes this is OK
32414              e) Edit this remote
32415              d) Delete this remote
32416              y/e/d> y
32417
32418       Once configured you can then use rclone like this,
32419
32420       List directories in top level of your WebDAV
32421
32422              rclone lsd remote:
32423
32424       List all the files in your WebDAV
32425
32426              rclone ls remote:
32427
32428       To copy a local directory to an WebDAV directory called backup
32429
32430              rclone copy /home/source remote:backup
32431
32432   Modified time and hashes
32433       Plain WebDAV does not support modified times.  However when  used  with
32434       Owncloud or Nextcloud rclone will support modified times.
32435
32436       Likewise  plain  WebDAV does not support hashes, however when used with
32437       Owncloud or Nextcloud rclone will support SHA1 and MD5 hashes.  Depend‐
32438       ing  on the exact version of Owncloud or Nextcloud hashes may appear on
32439       all objects, or only on objects which had a hash uploaded with them.
32440
32441   Standard options
32442       Here are the standard options specific to webdav (Webdav).
32443
32444   --webdav-url
32445       URL of http host to connect to.
32446
32447       E.g.  https://example.com.
32448
32449       • Config: url
32450
32451       • Env Var: RCLONE_WEBDAV_URL
32452
32453       • Type: string
32454
32455       • Default: ""
32456
32457   --webdav-vendor
32458       Name of the Webdav site/service/software you are using.
32459
32460       • Config: vendor
32461
32462       • Env Var: RCLONE_WEBDAV_VENDOR
32463
32464       • Type: string
32465
32466       • Default: ""
32467
32468       • Examples:
32469
32470         • "nextcloud"
32471
32472           • Nextcloud
32473
32474         • "owncloud"
32475
32476           • Owncloud
32477
32478         • "sharepoint"
32479
32480           • Sharepoint Online, authenticated by Microsoft account
32481
32482         • "sharepoint-ntlm"
32483
32484           • Sharepoint  with  NTLM  authentication,  usually  self-hosted  or
32485             on-premises
32486
32487         • "other"
32488
32489           • Other site/service or software
32490
32491   --webdav-user
32492       User name.
32493
32494       In case NTLM authentication is used, the username should be in the for‐
32495       mat 'Domain'.
32496
32497       • Config: user
32498
32499       • Env Var: RCLONE_WEBDAV_USER
32500
32501       • Type: string
32502
32503       • Default: ""
32504
32505   --webdav-pass
32506       Password.
32507
32508       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
32509       (https://rclone.org/commands/rclone_obscure/).
32510
32511       • Config: pass
32512
32513       • Env Var: RCLONE_WEBDAV_PASS
32514
32515       • Type: string
32516
32517       • Default: ""
32518
32519   --webdav-bearer-token
32520       Bearer token instead of user/pass (e.g.  a Macaroon).
32521
32522       • Config: bearer_token
32523
32524       • Env Var: RCLONE_WEBDAV_BEARER_TOKEN
32525
32526       • Type: string
32527
32528       • Default: ""
32529
32530   Advanced options
32531       Here are the advanced options specific to webdav (Webdav).
32532
32533   --webdav-bearer-token-command
32534       Command to run to get a bearer token.
32535
32536       • Config: bearer_token_command
32537
32538       • Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
32539
32540       • Type: string
32541
32542       • Default: ""
32543
32544   --webdav-encoding
32545       This sets the encoding for the backend.
32546
32547       See  the  encoding  section  in  the overview (https://rclone.org/over
32548       view/#encoding) for more info.
32549
32550       Default   encoding   is    Slash,LtGt,DoubleQuote,Colon,Question,Aster‐
32551       isk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,Left‐
32552       Tilde,RightSpace,RightPeriod,InvalidUtf8 for sharepoint-ntlm or identi‐
32553       ty otherwise.
32554
32555       • Config: encoding
32556
32557       • Env Var: RCLONE_WEBDAV_ENCODING
32558
32559       • Type: string
32560
32561       • Default: ""
32562
32563   --webdav-headers
32564       Set HTTP headers for all transactions.
32565
32566       Use this to set additional HTTP headers for all transactions
32567
32568       The  input format is comma separated list of key,value pairs.  Standard
32569       CSV encoding (https://godoc.org/encoding/csv) may be used.
32570
32571       For example  to  set  a  Cookie  use  'Cookie,name=value',  or  '"Cook‐
32572       ie","name=value"'.
32573
32574       You  can set multiple headers, e.g.  '"Cookie","name=value","Authoriza‐
32575       tion","xxx"'.
32576
32577       • Config: headers
32578
32579       • Env Var: RCLONE_WEBDAV_HEADERS
32580
32581       • Type: CommaSepList
32582
32583       • Default:
32584
32585   Provider notes
32586       See below for notes on specific providers.
32587
32588   Owncloud
32589       Click on the settings cog in the bottom right of the page and this will
32590       show the WebDAV URL that rclone needs in the config step.  It will look
32591       something like https://example.com/remote.php/webdav/.
32592
32593       Owncloud supports modified times using the X-OC-Mtime header.
32594
32595   Nextcloud
32596       This is  configured  in  an  identical  way  to  Owncloud.   Note  that
32597       Nextcloud  initially  did not support streaming of files (rcat) whereas
32598       Owncloud did, but this (https://github.com/nextcloud/nextcloud-snap/is
32599       sues/365)  seems  to  be  fixed  as  of  2020-11-27 (tested with rclone
32600       v1.53.1 and Nextcloud Server v19).
32601
32602   Sharepoint Online
32603       Rclone can be used with Sharepoint provided by OneDrive for Business or
32604       Office365 Education Accounts.  This feature is only needed for a few of
32605       these Accounts, mostly Office365 Education ones.   These  accounts  are
32606       sometimes    not    verified    by   the   domain   owner   github#1975
32607       (https://github.com/rclone/rclone/issues/1975)
32608
32609       This means that these accounts can't be added using  the  official  API
32610       (other  Accounts  should work with the "onedrive" option).  However, it
32611       is possible to access them using webdav.
32612
32613       To use a sharepoint remote with rclone, add it like  this:  First,  you
32614       need to get your remote's URL:
32615
32616       • Go  here (https://onedrive.live.com/about/en-us/signin/) to open your
32617         OneDrive or to sign in
32618
32619       • Now take a look at your address bar, the URL should look  like  this:
32620         https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_lay‐
32621         outs/15/onedrive.aspx
32622
32623       You'll only need this URL up to the email address.  After that,  you'll
32624       most  likely  want to add "/Documents".  That subdirectory contains the
32625       actual data stored on your OneDrive.
32626
32627       Add  the  remote  to  rclone  like   this:   Configure   the   url   as
32628       https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
32629       and use your normal account email and password for user and  pass.   If
32630       you  have  2FA  enabled, you have to generate an app password.  Set the
32631       vendor to sharepoint.
32632
32633       Your config file should look like this:
32634
32635              [sharepoint]
32636              type = webdav
32637              url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
32638              vendor = sharepoint
32639              user = YourEmailAddress
32640              pass = encryptedpassword
32641
32642   Sharepoint with NTLM Authentication
32643       Use this option in  case  your  (hosted)  Sharepoint  is  not  tied  to
32644       OneDrive accounts and uses NTLM authentication.
32645
32646       To get the url configuration, similarly to the above, first navigate to
32647       the desired directory in your browser to get the URL, then strip every‐
32648       thing after the name of the opened directory.
32649
32650       Example: If the URL is: https://example.sharepoint.com/sites/12345/Doc
32651       uments/Forms/AllItems.aspx
32652
32653       The   configuration   to   use   would    be:    https://example.share
32654       point.com/sites/12345/Documents
32655
32656       Set the vendor to sharepoint-ntlm.
32657
32658       NTLM uses domain and user name combination for authentication, set user
32659       to DOMAIN\username.
32660
32661       Your config file should look like this:
32662
32663              [sharepoint]
32664              type = webdav
32665              url = https://[YOUR-DOMAIN]/some-path-to/Documents
32666              vendor = sharepoint-ntlm
32667              user = DOMAIN\user
32668              pass = encryptedpassword
32669
32670   Required Flags for SharePoint
32671       As SharePoint does some special things  with  uploaded  documents,  you
32672       won't  be  able to use the documents size or the documents hash to com‐
32673       pare if a file has been changed since the upload / which file is newer.
32674
32675       For Rclone calls copying files (especially Office files such as  .docx,
32676       .xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should ap‐
32677       pend these flags to ensure Rclone uses  the  "Last  Modified"  datetime
32678       property to compare your documents:
32679
32680              --ignore-size --ignore-checksum --update
32681
32682   dCache
32683       dCache is a storage system that supports many protocols and authentica‐
32684       tion/authorisation schemes.  For WebDAV clients, it allows users to au‐
32685       thenticate  with  username  and  password (BASIC), X.509, Kerberos, and
32686       various bearer tokens, including Macaroons (https://www.dcache.org/man
32687       uals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf)   and
32688       OpenID-Connect  (https://en.wikipedia.org/wiki/OpenID_Connect)   access
32689       tokens.
32690
32691       Configure  as  normal  using the other type.  Don't enter a username or
32692       password, instead enter your Macaroon as the bearer_token.
32693
32694       The config will end up looking something like this.
32695
32696              [dcache]
32697              type = webdav
32698              url = https://dcache...
32699              vendor = other
32700              user =
32701              pass =
32702              bearer_token = your-macaroon
32703
32704       There  is  a  script  (https://github.com/sara-nl/GridScripts/blob/mas
32705       ter/get-macaroon)  that  obtains  a  Macaroon from a dCache WebDAV end‐
32706       point, and creates an rclone config file.
32707
32708       Macaroons may also be obtained from  the  dCacheView  web-browser/Java‐
32709       Script client that comes with dCache.
32710
32711   OpenID-Connect
32712       dCache  also supports authenticating with OpenID-Connect access tokens.
32713       OpenID-Connect is a protocol (based on OAuth 2.0) that allows  services
32714       to identify users who have authenticated with some central service.
32715
32716       Support for OpenID-Connect in rclone is currently achieved using anoth‐
32717       er  software  package  called  oidc-agent   (https://github.com/indigo-
32718       dc/oidc-agent).  This is a command-line tool that facilitates obtaining
32719       an access token.  Once installed and configured, an access token is ob‐
32720       tained  by running the oidc-token command.  The following example shows
32721       a (shortened) access token obtained from the XDC OIDC Provider.
32722
32723              paul@celebrimbor:~$ oidc-token XDC
32724              eyJraWQ[...]QFXDt0
32725              paul@celebrimbor:~$
32726
32727       Note Before the oidc-token command will work, the refresh token must be
32728       loaded  into  the  oidc  agent.  This is done with the oidc-add command
32729       (e.g., oidc-add XDC).  This is typically done once per  login  session.
32730       Full  details  on  this  and  how to register oidc-agent with your OIDC
32731       Provider are provided in the oidc-agent documentation  (https://indigo-
32732       dc.gitbooks.io/oidc-agent/).
32733
32734       The  rclone  bearer_token_command configuration option is used to fetch
32735       the access token from oidc-agent.
32736
32737       Configure as a normal WebDAV endpoint, using the 'other' vendor,  leav‐
32738       ing the username and password empty.  When prompted, choose to edit the
32739       advanced config and enter the command to  get  a  bearer  token  (e.g.,
32740       oidc-agent XDC).
32741
32742       The  following  example  config  shows  a  WebDAV  endpoint  that  uses
32743       oidc-agent to supply an access token from the XDC OIDC Provider.
32744
32745              [dcache]
32746              type = webdav
32747              url = https://dcache.example.org/
32748              vendor = other
32749              bearer_token_command = oidc-token XDC
32750

Yandex Disk

32752       Yandex Disk (https://disk.yandex.com) is a cloud storage solution  cre‐
32753       ated by Yandex (https://yandex.com).
32754
32755   Configuration
32756       Here is an example of making a yandex configuration.  First run
32757
32758              rclone config
32759
32760       This will guide you through an interactive setup process:
32761
32762              No remotes found - make a new one
32763              n) New remote
32764              s) Set configuration password
32765              n/s> n
32766              name> remote
32767              Type of storage to configure.
32768              Choose a number from below, or type in your own value
32769              [snip]
32770              XX / Yandex Disk
32771                 \ "yandex"
32772              [snip]
32773              Storage> yandex
32774              Yandex Client Id - leave blank normally.
32775              client_id>
32776              Yandex Client Secret - leave blank normally.
32777              client_secret>
32778              Remote config
32779              Use auto config?
32780               * Say Y if not sure
32781               * Say N if you are working on a remote or headless machine
32782              y) Yes
32783              n) No
32784              y/n> y
32785              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
32786              Log in and authorize rclone for access
32787              Waiting for code...
32788              Got code
32789              --------------------
32790              [remote]
32791              client_id =
32792              client_secret =
32793              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"OAuth","expiry":"2016-12-29T12:27:11.362788025Z"}
32794              --------------------
32795              y) Yes this is OK
32796              e) Edit this remote
32797              d) Delete this remote
32798              y/e/d> y
32799
32800       See the remote setup docs (https://rclone.org/remote_setup/) for how to
32801       set it up on a machine with no Internet browser available.
32802
32803       Note that rclone runs a webserver on your local machine to collect  the
32804       token  as returned from Yandex Disk.  This only runs from the moment it
32805       opens your browser to the moment you get back  the  verification  code.
32806       This  is  on http://127.0.0.1:53682/ and this it may require you to un‐
32807       block it temporarily if you are running a host firewall.
32808
32809       Once configured you can then use rclone like this,
32810
32811       See top level directories
32812
32813              rclone lsd remote:
32814
32815       Make a new directory
32816
32817              rclone mkdir remote:directory
32818
32819       List the contents of a directory
32820
32821              rclone ls remote:directory
32822
32823       Sync /home/local/directory to the  remote  path,  deleting  any  excess
32824       files in the path.
32825
32826              rclone sync -i /home/local/directory remote:directory
32827
32828       Yandex  paths may be as deep as required, e.g.  remote:directory/subdi‐
32829       rectory.
32830
32831   Modified time
32832       Modified times are supported and are stored accurate to 1 ns in  custom
32833       metadata called rclone_modified in RFC3339 with nanoseconds format.
32834
32835   MD5 checksums
32836       MD5 checksums are natively supported by Yandex Disk.
32837
32838   Emptying Trash
32839       If  you wish to empty your trash you can use the rclone cleanup remote:
32840       command which will permanently delete all  your  trashed  files.   This
32841       command does not take any path arguments.
32842
32843   Quota information
32844       To view your current quota you can use the rclone about remote: command
32845       which will display your usage limit (quota) and the current usage.
32846
32847   Restricted filename characters
32848       The default restricted characters set (https://rclone.org/overview/#re‐
32849       stricted-characters) are replaced.
32850
32851       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
32852       view/#invalid-utf8), as they can't be used in JSON strings.
32853
32854   Standard options
32855       Here are the standard options specific to yandex (Yandex Disk).
32856
32857   --yandex-client-id
32858       OAuth Client Id.
32859
32860       Leave blank normally.
32861
32862       • Config: client_id
32863
32864       • Env Var: RCLONE_YANDEX_CLIENT_ID
32865
32866       • Type: string
32867
32868       • Default: ""
32869
32870   --yandex-client-secret
32871       OAuth Client Secret.
32872
32873       Leave blank normally.
32874
32875       • Config: client_secret
32876
32877       • Env Var: RCLONE_YANDEX_CLIENT_SECRET
32878
32879       • Type: string
32880
32881       • Default: ""
32882
32883   Advanced options
32884       Here are the advanced options specific to yandex (Yandex Disk).
32885
32886   --yandex-token
32887       OAuth Access Token as a JSON blob.
32888
32889       • Config: token
32890
32891       • Env Var: RCLONE_YANDEX_TOKEN
32892
32893       • Type: string
32894
32895       • Default: ""
32896
32897   --yandex-auth-url
32898       Auth server URL.
32899
32900       Leave blank to use the provider defaults.
32901
32902       • Config: auth_url
32903
32904       • Env Var: RCLONE_YANDEX_AUTH_URL
32905
32906       • Type: string
32907
32908       • Default: ""
32909
32910   --yandex-token-url
32911       Token server url.
32912
32913       Leave blank to use the provider defaults.
32914
32915       • Config: token_url
32916
32917       • Env Var: RCLONE_YANDEX_TOKEN_URL
32918
32919       • Type: string
32920
32921       • Default: ""
32922
32923   --yandex-encoding
32924       This sets the encoding for the backend.
32925
32926       See the encoding  section  in  the  overview  (https://rclone.org/over
32927       view/#encoding) for more info.
32928
32929       • Config: encoding
32930
32931       • Env Var: RCLONE_YANDEX_ENCODING
32932
32933       • Type: MultiEncoder
32934
32935       • Default: Slash,Del,Ctl,InvalidUtf8,Dot
32936
32937   Limitations
32938       When uploading very large files (bigger than about 5 GiB) you will need
32939       to increase the --timeout parameter.  This  is  because  Yandex  pauses
32940       (perhaps  to calculate the MD5SUM for the entire file) before returning
32941       confirmation that the file has been uploaded.  The default handling  of
32942       timeouts  in rclone is to assume a 5 minute pause is an error and close
32943       the connection - you'll see net/http: timeout awaiting response headers
32944       errors  in the logs if this is happening.  Setting the timeout to twice
32945       the max size of file in GiB should be enough, so if you want to  upload
32946       a 30 GiB file set a timeout of 2 * 30 = 60m, that is --timeout 60m.
32947
32948       Having  a  Yandex Mail account is mandatory to use the Yandex.Disk sub‐
32949       scription.  Token generation will work  without  a  mail  account,  but
32950       Rclone won't be able to complete any actions.
32951
32952              [403 - DiskUnsupportedUserAccountTypeError] User account type is not supported.
32953

Zoho Workdrive

32955       Zoho WorkDrive (https://www.zoho.com/workdrive/) is a cloud storage so‐
32956       lution created by Zoho (https://zoho.com).
32957
32958   Configuration
32959       Here is an example of making a zoho configuration.  First run
32960
32961              rclone config
32962
32963       This will guide you through an interactive setup process:
32964
32965              No remotes found - make a new one
32966              n) New remote
32967              s) Set configuration password
32968              n/s> n
32969              name> remote
32970              Type of storage to configure.
32971              Enter a string value. Press Enter for the default ("").
32972              Choose a number from below, or type in your own value
32973              [snip]
32974              XX / Zoho
32975                 \ "zoho"
32976              [snip]
32977              Storage> zoho
32978              ** See help for zoho backend at: https://rclone.org/zoho/ **
32979
32980              OAuth Client Id
32981              Leave blank normally.
32982              Enter a string value. Press Enter for the default ("").
32983              client_id>
32984              OAuth Client Secret
32985              Leave blank normally.
32986              Enter a string value. Press Enter for the default ("").
32987              client_secret>
32988              Edit advanced config? (y/n)
32989              y) Yes
32990              n) No (default)
32991              y/n> n
32992              Remote config
32993              Use auto config?
32994               * Say Y if not sure
32995               * Say N if you are working on a remote or headless machine
32996              y) Yes (default)
32997              n) No
32998              y/n>
32999              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ
33000              Log in and authorize rclone for access
33001              Waiting for code...
33002              Got code
33003              Choose a number from below, or type in your own value
33004               1 / MyTeam
33005                 \ "4u28602177065ff22426787a6745dba8954eb"
33006              Enter a Team ID> 1
33007              Choose a number from below, or type in your own value
33008               1 / General
33009                 \ "4u2869d2aa6fca04f4f2f896b6539243b85b1"
33010              Enter a Workspace ID> 1
33011              --------------------
33012              [remote]
33013              type = zoho
33014              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Zoho-oauthtoken","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2020-10-12T00:54:52.370275223+02:00"}
33015              root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
33016              --------------------
33017              y) Yes this is OK (default)
33018              e) Edit this remote
33019              d) Delete this remote
33020              y/e/d>
33021
33022       See the remote setup docs (https://rclone.org/remote_setup/) for how to
33023       set it up on a machine with no Internet browser available.
33024
33025       Rclone  runs  a  webserver on your local computer to collect the autho‐
33026       rization token from Zoho Workdrive.  This is only from the moment  your
33027       browser  is  opened until the token is returned.  The webserver runs on
33028       http://127.0.0.1:53682/.  If local port 53682 is protected by  a  fire‐
33029       wall  you  may need to temporarily unblock the firewall to complete au‐
33030       thorization.
33031
33032       Once configured you can then use rclone like this,
33033
33034       See top level directories
33035
33036              rclone lsd remote:
33037
33038       Make a new directory
33039
33040              rclone mkdir remote:directory
33041
33042       List the contents of a directory
33043
33044              rclone ls remote:directory
33045
33046       Sync /home/local/directory to the  remote  path,  deleting  any  excess
33047       files in the path.
33048
33049              rclone sync -i /home/local/directory remote:directory
33050
33051       Zoho  paths may be as deep as required, eg remote:directory/subdirecto‐
33052       ry.
33053
33054   Modified time
33055       Modified times are currently not supported for Zoho Workdrive
33056
33057   Checksums
33058       No checksums are supported.
33059
33060   Usage information
33061       To view your current quota you can use the rclone about remote: command
33062       which will display your current usage.
33063
33064   Restricted filename characters
33065       Only  control  characters  and invalid UTF-8 are replaced.  In addition
33066       most Unicode full-width characters are not supported at all and will be
33067       removed from filenames during upload.
33068
33069   Standard options
33070       Here are the standard options specific to zoho (Zoho).
33071
33072   --zoho-client-id
33073       OAuth Client Id.
33074
33075       Leave blank normally.
33076
33077       • Config: client_id
33078
33079       • Env Var: RCLONE_ZOHO_CLIENT_ID
33080
33081       • Type: string
33082
33083       • Default: ""
33084
33085   --zoho-client-secret
33086       OAuth Client Secret.
33087
33088       Leave blank normally.
33089
33090       • Config: client_secret
33091
33092       • Env Var: RCLONE_ZOHO_CLIENT_SECRET
33093
33094       • Type: string
33095
33096       • Default: ""
33097
33098   --zoho-region
33099       Zoho region to connect to.
33100
33101       You'll  have  to use the region your organization is registered in.  If
33102       not sure use the same top level domain as you connect to in your brows‐
33103       er.
33104
33105       • Config: region
33106
33107       • Env Var: RCLONE_ZOHO_REGION
33108
33109       • Type: string
33110
33111       • Default: ""
33112
33113       • Examples:
33114
33115         • "com"
33116
33117           • United states / Global
33118
33119         • "eu"
33120
33121           • Europe
33122
33123         • "in"
33124
33125           • India
33126
33127         • "com.au"
33128
33129           • Australia
33130
33131   Advanced options
33132       Here are the advanced options specific to zoho (Zoho).
33133
33134   --zoho-token
33135       OAuth Access Token as a JSON blob.
33136
33137       • Config: token
33138
33139       • Env Var: RCLONE_ZOHO_TOKEN
33140
33141       • Type: string
33142
33143       • Default: ""
33144
33145   --zoho-auth-url
33146       Auth server URL.
33147
33148       Leave blank to use the provider defaults.
33149
33150       • Config: auth_url
33151
33152       • Env Var: RCLONE_ZOHO_AUTH_URL
33153
33154       • Type: string
33155
33156       • Default: ""
33157
33158   --zoho-token-url
33159       Token server url.
33160
33161       Leave blank to use the provider defaults.
33162
33163       • Config: token_url
33164
33165       • Env Var: RCLONE_ZOHO_TOKEN_URL
33166
33167       • Type: string
33168
33169       • Default: ""
33170
33171   --zoho-encoding
33172       This sets the encoding for the backend.
33173
33174       See  the  encoding  section  in  the overview (https://rclone.org/over
33175       view/#encoding) for more info.
33176
33177       • Config: encoding
33178
33179       • Env Var: RCLONE_ZOHO_ENCODING
33180
33181       • Type: MultiEncoder
33182
33183       • Default: Del,Ctl,InvalidUtf8
33184

Local Filesystem

33186       Local  paths  are  specified   as   normal   filesystem   paths,   e.g.
33187       /path/to/wherever, so
33188
33189              rclone sync -i /home/source /tmp/destination
33190
33191       Will sync /home/source to /tmp/destination.
33192
33193   Configuration
33194       For consistencies sake one can also configure a remote of type local in
33195       the config file, and access the local filesystem  using  rclone  remote
33196       paths, e.g.  remote:path/to/wherever, but it is probably easier not to.
33197
33198   Modified time
33199       Rclone  reads and writes the modified time using an accuracy determined
33200       by the OS.  Typically this is 1ns on Linux, 10 ns on Windows and 1 Sec‐
33201       ond on OS X.
33202
33203   Filenames
33204       Filenames  should be encoded in UTF-8 on disk.  This is the normal case
33205       for Windows and OS X.
33206
33207       There is a bit more uncertainty in the Linux world, but  new  distribu‐
33208       tions  will  have  UTF-8  encoded files names.  If you are using an old
33209       Linux filesystem with non UTF-8 file names (e.g.  latin1) then you  can
33210       use  the  convmv tool to convert the filesystem to UTF-8.  This tool is
33211       available in most distributions' package managers.
33212
33213       If an invalid (non-UTF8) filename is read, the invalid characters  will
33214       be  replaced  with  a  quoted representation of the invalid bytes.  The
33215       name gro\xdf will be transferred as gro‛DF.  rclone will emit  a  debug
33216       message in this case (use -v to see), e.g.
33217
33218              Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
33219
33220   Restricted characters
33221       With  the local backend, restrictions on the characters that are usable
33222       in file or directory names depend on the operating  system.   To  check
33223       what  rclone  will  replace  by default on your system, run rclone help
33224       flags local-encoding.
33225
33226       On non Windows platforms the following  characters  are  replaced  when
33227       handling file names.
33228
33229       Character   Value   Replacement
33230       ────────────────────────────────
33231       NUL         0x00         ␀
33232       /           0x2F        /
33233
33234       When  running  on  Windows the following characters are replaced.  This
33235       list is based on the Windows file naming conventions  (https://docs.mi
33236       crosoft.com/de-de/windows/desktop/FileIO/naming-a-file#naming-conven‐
33237       tions).
33238
33239       Character   Value   Replacement
33240       ────────────────────────────────
33241       NUL         0x00         ␀
33242       SOH         0x01         ␁
33243       STX         0x02         ␂
33244       ETX         0x03         ␃
33245       EOT         0x04         ␄
33246       ENQ         0x05         ␅
33247       ACK         0x06         ␆
33248       BEL         0x07         ␇
33249       BS          0x08         ␈
33250       HT          0x09         ␉
33251       LF          0x0A         ␊
33252       VT          0x0B         ␋
33253       FF          0x0C         ␌
33254       CR          0x0D         ␍
33255       SO          0x0E         ␎
33256       SI          0x0F         ␏
33257       DLE         0x10         ␐
33258       DC1         0x11         ␑
33259       DC2         0x12         ␒
33260       DC3         0x13         ␓
33261       DC4         0x14         ␔
33262       NAK         0x15         ␕
33263       SYN         0x16         ␖
33264       ETB         0x17         ␗
33265
33266       CAN         0x18         ␘
33267       EM          0x19         ␙
33268       SUB         0x1A         ␚
33269       ESC         0x1B         ␛
33270       FS          0x1C         ␜
33271       GS          0x1D         ␝
33272       RS          0x1E         ␞
33273       US          0x1F         ␟
33274       /           0x2F        /
33275       "           0x22        "
33276       *           0x2A        *
33277       :           0x3A        :
33278       <           0x3C        <
33279       >           0x3E        >
33280       ?           0x3F        ?
33281       \           0x5C        \
33282       |           0x7C        |
33283
33284       File names on Windows can also not end with the  following  characters.
33285       These only get replaced if they are the last character in the name:
33286
33287       Character   Value   Replacement
33288       ────────────────────────────────
33289       SP          0x20         ␠
33290       .           0x2E        .
33291
33292       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
33293       view/#invalid-utf8), as they can't be converted to UTF-16.
33294
33295   Paths on Windows
33296       On Windows there are many ways of specifying a path to  a  file  system
33297       resource.   Local  paths  can be absolute, like C:\path\to\wherever, or
33298       relative, like ..\wherever.   Network  paths  in  UNC  format,  \\serv‐
33299       er\share,  are  also  supported.  Path separator can be either \ (as in
33300       C:\path\to\wherever) or / (as in C:/path/to/wherever).  Length of these
33301       paths  are  limited  to 259 characters for files and 247 characters for
33302       directories, but there is an alternative  extended-length  path  format
33303       increasing the limit to (approximately) 32,767 characters.  This format
33304       requires  absolute  paths  and   the   use   of   prefix   \\?\,   e.g.
33305       \\?\D:\some\very\long\path.   For convenience rclone will automatically
33306       convert regular paths into the corresponding extended-length paths,  so
33307       in most cases you do not have to worry about this (read more below).
33308
33309       Note  that  Windows supports using the same prefix \\?\ to specify path
33310       to   volumes    identified    by    their    GUID,    e.g.     \\?\Vol‐
33311       ume{b75e2c83-0000-0000-0000-602f00000000}\some\path.   This is not sup‐
33312       ported in rclone, due  to  an  issue  (https://github.com/golang/go/is
33313       sues/39785) in go.
33314
33315   Long paths
33316       Rclone handles long paths automatically, by converting all paths to ex‐
33317       tended-length   path   format    (https://docs.microsoft.com/en-us/win
33318       dows/win32/fileio/maximum-file-path-limitation),  which allows paths up
33319       to 32,767 characters.
33320
33321       This conversion will ensure paths are absolute and prefix them with the
33322       \\?\.   This  is why you will see that your paths, for instance .\files
33323       is shown as path \\?\C:\files in  the  output,  and  \\server\share  as
33324       \\?\UNC\server\share.
33325
33326       However,  in  rare cases this may cause problems with buggy file system
33327       drivers like EncFS  (https://github.com/rclone/rclone/issues/261).   To
33328       disable UNC conversion globally, add this to your .rclone.conf file:
33329
33330              [local]
33331              nounc = true
33332
33333       If  you  want  to selectively disable UNC, you can add it to a separate
33334       entry like this:
33335
33336              [nounc]
33337              type = local
33338              nounc = true
33339
33340       And use rclone like this:
33341
33342       rclone copy c:\src nounc:z:\dst
33343
33344       This will use UNC paths on c:\src but not on z:\dst.   Of  course  this
33345       will  cause  problems if the absolute path length of a file exceeds 259
33346       characters on z, so only use this option if you have to.
33347
33348   Symlinks / Junction points
33349       Normally rclone will ignore symlinks or junction points  (which  behave
33350       like symlinks under Windows).
33351
33352       If  you  supply  --copy-links or -L then rclone will follow the symlink
33353       and copy the pointed to file or directory.  Note that this flag is  in‐
33354       compatible with --links / -l.
33355
33356       This flag applies to all commands.
33357
33358       For example, supposing you have a directory structure like this
33359
33360              $ tree /tmp/a
33361              /tmp/a
33362              ├── b -> ../b
33363              ├── expected -> ../expected
33364              ├── one
33365              └── two
33366                  └── three
33367
33368       Then you can see the difference with and without the flag like this
33369
33370              $ rclone ls /tmp/a
33371                      6 one
33372                      6 two/three
33373
33374       and
33375
33376              $ rclone -L ls /tmp/a
33377                   4174 expected
33378                      6 one
33379                      6 two/three
33380                      6 b/two
33381                      6 b/one
33382
33383   --links, -l
33384       Normally  rclone  will ignore symlinks or junction points (which behave
33385       like symlinks under Windows).
33386
33387       If you supply this flag then rclone will copy symbolic links  from  the
33388       local  storage, and store them as text files, with a '.rclonelink' suf‐
33389       fix in the remote storage.
33390
33391       The text file will contain the target of the symbolic link  (see  exam‐
33392       ple).
33393
33394       This flag applies to all commands.
33395
33396       For example, supposing you have a directory structure like this
33397
33398              $ tree /tmp/a
33399              /tmp/a
33400              ├── file1 -> ./file4
33401              └── file2 -> /home/user/file3
33402
33403       Copying the entire directory with '-l'
33404
33405              $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
33406
33407       The remote files are created with a '.rclonelink' suffix
33408
33409              $ rclone ls remote:/tmp/a
33410                     5 file1.rclonelink
33411                    14 file2.rclonelink
33412
33413       The remote files will contain the target of the symbolic links
33414
33415              $ rclone cat remote:/tmp/a/file1.rclonelink
33416              ./file4
33417
33418              $ rclone cat remote:/tmp/a/file2.rclonelink
33419              /home/user/file3
33420
33421       Copying them back with '-l'
33422
33423              $ rclone copyto -l remote:/tmp/a/ /tmp/b/
33424
33425              $ tree /tmp/b
33426              /tmp/b
33427              ├── file1 -> ./file4
33428              └── file2 -> /home/user/file3
33429
33430       However, if copied back without '-l'
33431
33432              $ rclone copyto remote:/tmp/a/ /tmp/b/
33433
33434              $ tree /tmp/b
33435              /tmp/b
33436              ├── file1.rclonelink
33437              └── file2.rclonelink
33438
33439       Note that this flag is incompatible with -copy-links / -L.
33440
33441   Restricting filesystems with --one-file-system
33442       Normally rclone will recurse through filesystems as mounted.
33443
33444       However if you set --one-file-system or -x this tells rclone to stay in
33445       the filesystem specified by the root and not to recurse into  different
33446       file systems.
33447
33448       For example if you have a directory hierarchy like this
33449
33450              root
33451              ├── disk1     - disk1 mounted on the root
33452              │   └── file3 - stored on disk1
33453              ├── disk2     - disk2 mounted on the root
33454              │   └── file4 - stored on disk12
33455              ├── file1     - stored on the root disk
33456              └── file2     - stored on the root disk
33457
33458       Using  rclone  --one-file-system copy root remote: will only copy file1
33459       and file2.  Eg
33460
33461              $ rclone -q --one-file-system ls root
33462                      0 file1
33463                      0 file2
33464
33465              $ rclone -q ls root
33466                      0 disk1/file3
33467                      0 disk2/file4
33468                      0 file1
33469                      0 file2
33470
33471       NB Rclone (like most unix tools such as du, rsync  and  tar)  treats  a
33472       bind mount to the same device as being on the same filesystem.
33473
33474       NB This flag is only available on Unix based systems.  On systems where
33475       it isn't supported (e.g.  Windows) it will be ignored.
33476
33477   Advanced options
33478       Here are the advanced options specific to local (Local Disk).
33479
33480   --local-nounc
33481       Disable UNC (long path names) conversion on Windows.
33482
33483       • Config: nounc
33484
33485       • Env Var: RCLONE_LOCAL_NOUNC
33486
33487       • Type: string
33488
33489       • Default: ""
33490
33491       • Examples:
33492
33493         • "true"
33494
33495           • Disables long file names.
33496
33497   --copy-links / -L
33498       Follow symlinks and copy the pointed to item.
33499
33500       • Config: copy_links
33501
33502       • Env Var: RCLONE_LOCAL_COPY_LINKS
33503
33504       • Type: bool
33505
33506       • Default: false
33507
33508   --links / -l
33509       Translate symlinks to/from regular files with  a  '.rclonelink'  exten‐
33510       sion.
33511
33512       • Config: links
33513
33514       • Env Var: RCLONE_LOCAL_LINKS
33515
33516       • Type: bool
33517
33518       • Default: false
33519
33520   --skip-links
33521       Don't warn about skipped symlinks.
33522
33523       This  flag  disables  warning  messages on skipped symlinks or junction
33524       points, as you explicitly acknowledge that they should be skipped.
33525
33526       • Config: skip_links
33527
33528       • Env Var: RCLONE_LOCAL_SKIP_LINKS
33529
33530       • Type: bool
33531
33532       • Default: false
33533
33534   --local-zero-size-links
33535       Assume the Stat size of links is zero (and read them  instead)  (depre‐
33536       cated).
33537
33538       Rclone  used  to  use the Stat size of links as the link size, but this
33539       fails in quite a few places:
33540
33541       • Windows
33542
33543       • On some virtual filesystems (such ash LucidLink)
33544
33545       • Android
33546
33547       So rclone now always reads the link.
33548
33549       • Config: zero_size_links
33550
33551       • Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS
33552
33553       • Type: bool
33554
33555       • Default: false
33556
33557   --local-unicode-normalization
33558       Apply unicode NFC normalization to paths and filenames.
33559
33560       This flag can be used to normalize file names  into  unicode  NFC  form
33561       that are read from the local filesystem.
33562
33563       Rclone does not normally touch the encoding of file names it reads from
33564       the file system.
33565
33566       This can be useful when using macOS as it normally provides  decomposed
33567       (NFD)  unicode which in some language (eg Korean) doesn't display prop‐
33568       erly on some OSes.
33569
33570       Note that rclone compares filenames with unicode normalization  in  the
33571       sync routine so this flag shouldn't normally be used.
33572
33573       • Config: unicode_normalization
33574
33575       • Env Var: RCLONE_LOCAL_UNICODE_NORMALIZATION
33576
33577       • Type: bool
33578
33579       • Default: false
33580
33581   --local-no-check-updated
33582       Don't check to see if the files change during upload.
33583
33584       Normally  rclone checks the size and modification time of files as they
33585       are being uploaded and aborts with a message which starts "can't copy -
33586       source file is being updated" if the file changes during upload.
33587
33588       However  on  some  file  systems  this modification time check may fail
33589       (e.g.  Glusterfs #2206  (https://github.com/rclone/rclone/issues/2206))
33590       so this check can be disabled with this flag.
33591
33592       If  this  flag  is  set, rclone will use its best efforts to transfer a
33593       file which is being updated.  If the file is only having things append‐
33594       ed  to it (e.g.  a log) then rclone will transfer the log file with the
33595       size it had the first time rclone saw it.
33596
33597       If the file is being modified throughout (not just  appended  to)  then
33598       the transfer may fail with a hash check failure.
33599
33600       In detail, once the file has had stat() called on it for the first time
33601       we:
33602
33603       • Only transfer the size that stat gave
33604
33605       • Only checksum the size that stat gave
33606
33607       • Don't update the stat info for the file
33608
33609       • Config: no_check_updated
33610
33611       • Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
33612
33613       • Type: bool
33614
33615       • Default: false
33616
33617   --one-file-system / -x
33618       Don't cross filesystem boundaries (unix/macOS only).
33619
33620       • Config: one_file_system
33621
33622       • Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
33623
33624       • Type: bool
33625
33626       • Default: false
33627
33628   --local-case-sensitive
33629       Force the filesystem to report itself as case sensitive.
33630
33631       Normally the local backend declares itself as case insensitive on  Win‐
33632       dows/macOS  and  case  sensitive for everything else.  Use this flag to
33633       override the default choice.
33634
33635       • Config: case_sensitive
33636
33637       • Env Var: RCLONE_LOCAL_CASE_SENSITIVE
33638
33639       • Type: bool
33640
33641       • Default: false
33642
33643   --local-case-insensitive
33644       Force the filesystem to report itself as case insensitive.
33645
33646       Normally the local backend declares itself as case insensitive on  Win‐
33647       dows/macOS  and  case  sensitive for everything else.  Use this flag to
33648       override the default choice.
33649
33650       • Config: case_insensitive
33651
33652       • Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
33653
33654       • Type: bool
33655
33656       • Default: false
33657
33658   --local-no-preallocate
33659       Disable preallocation of disk space for transferred files.
33660
33661       Preallocation of disk space  helps  prevent  filesystem  fragmentation.
33662       However,  some  virtual  filesystem  layers  (such as Google Drive File
33663       Stream) may incorrectly set the actual file size equal to the  preallo‐
33664       cated  space,  causing checksum and file size checks to fail.  Use this
33665       flag to disable preallocation.
33666
33667       • Config: no_preallocate
33668
33669       • Env Var: RCLONE_LOCAL_NO_PREALLOCATE
33670
33671       • Type: bool
33672
33673       • Default: false
33674
33675   --local-no-sparse
33676       Disable sparse files for multi-thread downloads.
33677
33678       On Windows platforms rclone will make  sparse  files  when  doing  mul‐
33679       ti-thread  downloads.  This avoids long pauses on large files where the
33680       OS zeros the file.  However sparse files may  be  undesirable  as  they
33681       cause disk fragmentation and can be slow to work with.
33682
33683       • Config: no_sparse
33684
33685       • Env Var: RCLONE_LOCAL_NO_SPARSE
33686
33687       • Type: bool
33688
33689       • Default: false
33690
33691   --local-no-set-modtime
33692       Disable setting modtime.
33693
33694       Normally  rclone updates modification time of files after they are done
33695       uploading.  This can cause permissions issues on Linux  platforms  when
33696       the  user  rclone is running as does not own the file uploaded, such as
33697       when copying to a CIFS mount owned by another user.  If this option  is
33698       enabled, rclone will no longer update the modtime after copying a file.
33699
33700       • Config: no_set_modtime
33701
33702       • Env Var: RCLONE_LOCAL_NO_SET_MODTIME
33703
33704       • Type: bool
33705
33706       • Default: false
33707
33708   --local-encoding
33709       This sets the encoding for the backend.
33710
33711       See  the  encoding  section  in  the overview (https://rclone.org/over
33712       view/#encoding) for more info.
33713
33714       • Config: encoding
33715
33716       • Env Var: RCLONE_LOCAL_ENCODING
33717
33718       • Type: MultiEncoder
33719
33720       • Default: Slash,Dot
33721
33722   Backend commands
33723       Here are the commands specific to the local backend.
33724
33725       Run them with
33726
33727              rclone backend COMMAND remote:
33728
33729       The help below will explain what arguments each command takes.
33730
33731       See   the    "rclone    backend"    command    (https://rclone.org/com
33732       mands/rclone_backend/)  for  more info on how to pass options and argu‐
33733       ments.
33734
33735       These can be run on a running backend using the rc command backend/com‐
33736       mand (https://rclone.org/rc/#backend/command).
33737
33738   noop
33739       A null operation for testing backend commands
33740
33741              rclone backend noop remote: [options] [<arguments>+]
33742
33743       This is a test command which has some options you can try to change the
33744       output.
33745
33746       Options:
33747
33748       • "echo": echo the input arguments
33749
33750       • "error": return an error based on option value
33751

Changelog

33753   v1.57.0 - 2021-11-01
33754       See           commits            (https://github.com/rclone/rclone/com
33755       pare/v1.56.0...v1.57.0)
33756
33757       • New backends
33758
33759         • Sia: for Sia decentralized cloud (Ian Levesque, Matthew Sevey, Ivan
33760           Andreev)
33761
33762         • Hasher: caches hashes and enable hashes  for  backends  that  don't
33763           support them (Ivan Andreev)
33764
33765       • New commands
33766
33767         • lsjson  --stat:  to  get  info  about  a single file/dir and opera‐
33768           tions/stat api (Nick Craig-Wood)
33769
33770         • config paths: show configured paths (albertony)
33771
33772       • New Features
33773
33774         • about: Make human-readable output more consistent with  other  com‐
33775           mands (albertony)
33776
33777         • build
33778
33779           • Use  go1.17  for  building  and make go1.14 the minimum supported
33780             (Nick Craig-Wood)
33781
33782           • Update Go to 1.16 and NDK to 22b for Android builds (x0b)
33783
33784         • config
33785
33786           • Support hyphen in remote  name  from  environment  variable  (al‐
33787             bertony)
33788
33789           • Make temporary directory user-configurable (albertony)
33790
33791           • Convert --cache-dir value to an absolute path (albertony)
33792
33793           • Do not override MIME types from OS defaults (albertony)
33794
33795         • docs
33796
33797           • Toc styling and header levels cleanup (albertony)
33798
33799           • Extend documentation on valid remote names (albertony)
33800
33801           • Mention make for building and cmount tag for macos (Alex Chen)
33802
33803           • ...and many more contributions to numerous to mention!
33804
33805         • fs:  Move  with  --ignore-existing  will  not  delete skipped files
33806           (Nathan Collins)
33807
33808         • hashsum
33809
33810           • Treat hash values in sum file as case insensitive (Ivan Andreev)
33811
33812           • Don't put ERROR or UNSUPPORTED in output (Ivan Andreev)
33813
33814         • lib/encoder: Add encoding of square brackets (Ivan Andreev)
33815
33816         • lib/file: Improve error message when attempting to  create  dir  on
33817           nonexistent drive on windows (albertony)
33818
33819         • lib/http:  Factor  password  hash  salt  into  options with default
33820           (Nolan Woods)
33821
33822         • lib/kv: Add key-value database api (Ivan Andreev)
33823
33824         • librclone
33825
33826           • Add RcloneFreeString function (albertony)
33827
33828           • Free strings in python example (albertony)
33829
33830         • log: Optionally print pid in logs (Ivan Andreev)
33831
33832         • ls: Introduce --human-readable global option to  print  human-read‐
33833           able sizes (albertony)
33834
33835         • ncdu: Introduce key u to toggle human-readable (albertony)
33836
33837         • operations: Add rmdirs -v output (Justin Winokur)
33838
33839         • serve sftp
33840
33841           • Generate an ECDSA server key as well as RSA (Nick Craig-Wood)
33842
33843           • Generate  an  Ed25519  server  key  as well as ECDSA and RSA (al‐
33844             bertony)
33845
33846         • serve docker
33847
33848           • Allow to customize proxy settings of docker plugin (Ivan Andreev)
33849
33850           • Build docker plugin for multiple platforms (Thomas Stachl)
33851
33852         • size: Include human-readable count (albertony)
33853
33854         • touch: Add support for touching files in directory, with  recursive
33855           option, filtering and --dry-run/-i (albertony)
33856
33857         • tree:  Option  to  print  human-readable  sizes removed in favor of
33858           global option (albertony)
33859
33860       • Bug Fixes
33861
33862         • lib/http
33863
33864           • Fix bad username check in  single  auth  secret  provider  (Nolan
33865             Woods)
33866
33867           • Fix handling of SSL credentials (Nolan Woods)
33868
33869         • serve  ftp:  Ensure modtime is passed as UTC always to fix timezone
33870           oddities (Nick Craig-Wood)
33871
33872         • serve sftp: Fix generation of server keys on windows (albertony)
33873
33874         • serve docker: Fix octal umask (Ivan Andreev)
33875
33876       • Mount
33877
33878         • Enable rclone to be run as mount helper direct from the fstab (Ivan
33879           Andreev)
33880
33881         • Use procfs to validate mount on linux (Ivan Andreev)
33882
33883         • Correctly daemonize for compatibility with automount (Ivan Andreev)
33884
33885       • VFS
33886
33887         • Ensure names used in cache path are legal on current OS (albertony)
33888
33889         • Ignore ECLOSED when truncating file handles to fix intermittent bad
33890           file descriptor error (Nick Craig-Wood)
33891
33892       • Local
33893
33894         • Refactor default OS encoding out from local backend into shared en‐
33895           coder lib (albertony)
33896
33897       • Crypt
33898
33899         • Return  wrapped  object  even with --crypt-no-data-encryption (Ivan
33900           Andreev)
33901
33902         • Fix uploads with --crypt-no-data-encryption (Nick Craig-Wood)
33903
33904       • Azure Blob
33905
33906         • Add --azureblob-no-head-object (Tatsuya Noyori)
33907
33908       • Box
33909
33910         • Make listings of  heavily  used  directories  more  reliable  (Nick
33911           Craig-Wood)
33912
33913         • When doing cleanup delete as much as possible (Nick Craig-Wood)
33914
33915         • Add   --box-list-chunk   to   control   listing  chunk  size  (Nick
33916           Craig-Wood)
33917
33918         • Delete items in parallel in cleanup using --checkers threads  (Nick
33919           Craig-Wood)
33920
33921         • Add  --box-owned-by  to  only  show items owned by the login passed
33922           (Nick Craig-Wood)
33923
33924         • Retry operation_blocked_temporary errors (Nick Craig-Wood)
33925
33926       • Chunker
33927
33928         • Md5all must create metadata if base hash is slow (Ivan Andreev)
33929
33930       • Drive
33931
33932         • Speed up directory listings by constraining the API  listing  using
33933           the current filters (fotile96, Ivan Andreev)
33934
33935         • Fix  buffering  for  single  request  upload for files smaller than
33936           --drive-upload-cutoff (YenForYang)
33937
33938         • Add -o config option to backend  drives  to  make  config  for  all
33939           shared drives (Nick Craig-Wood)
33940
33941       • Dropbox
33942
33943         • Add  --dropbox-batch-commit-timeout  to control batch timeout (Nick
33944           Craig-Wood)
33945
33946       • Filefabric
33947
33948         • Make backoff exponential for error_background to fix  errors  (Nick
33949           Craig-Wood)
33950
33951         • Fix directory move after API change (Nick Craig-Wood)
33952
33953       • FTP
33954
33955         • Enable tls session cache by default (Ivan Andreev)
33956
33957         • Add option to disable tls13 (Ivan Andreev)
33958
33959         • Fix timeout after long uploads (Ivan Andreev)
33960
33961         • Add support for precise time (Ivan Andreev)
33962
33963         • Enable CI for ProFtpd, PureFtpd, VsFtpd (Ivan Andreev)
33964
33965       • Googlephotos
33966
33967         • Use  encoder  for album names to fix albums with control characters
33968           (Parth Shukla)
33969
33970       • Jottacloud
33971
33972         • Implement SetModTime to support modtime-only changes (albertony)
33973
33974         • Improved error handling with SetModTime and corrupt files in gener‐
33975           al (albertony)
33976
33977         • Add  support  for  UserInfo  (rclone  config userinfo) feature (al‐
33978           bertony)
33979
33980         • Return direct download link from rclone link command (albertony)
33981
33982       • Koofr
33983
33984         • Create direct share link (Dmitry Bogatov)
33985
33986       • Pcloud
33987
33988         • Add sha256 support (Ken Enrique Morel)
33989
33990       • Premiumizeme
33991
33992         • Fix directory listing after API changes (Nick Craig-Wood)
33993
33994         • Fix server side move after API change (Nick Craig-Wood)
33995
33996         • Fix server side directory move after API changes (Nick Craig-Wood)
33997
33998       • S3
33999
34000         • Add support to use CDN URL to download the file (Logeshwaran)
34001
34002         • Add AWS Snowball Edge to providers examples (r0kk3rz)
34003
34004         • Use  a  combination  of  SDK  retries  and  rclone  retries   (Nick
34005           Craig-Wood)
34006
34007         • Fix  IAM  Role for Service Account not working and other auth prob‐
34008           lems (Nick Craig-Wood)
34009
34010         • Fix shared_credentials_file  auth  after  reverting  incorrect  fix
34011           (Nick Craig-Wood)
34012
34013         • Fix  corrupted  on transfer: sizes differ 0 vs xxxx with Ceph (Nick
34014           Craig-Wood)
34015
34016       • Seafile
34017
34018         • Fix error when not configured for 2fa (Fred)
34019
34020       • SFTP
34021
34022         • Fix timeout when doing MD5SUM of large file (Nick Craig-Wood)
34023
34024       • Swift
34025
34026         • Update OCI URL (David Liu)
34027
34028         • Document OVH Cloud Archive (HNGamingUK)
34029
34030       • Union
34031
34032         • Fix rename not working with union of local disk  and  bucket  based
34033           remote (Nick Craig-Wood)
34034
34035   v1.56.2 - 2021-10-01
34036       See            commits           (https://github.com/rclone/rclone/com
34037       pare/v1.56.1...v1.56.2)
34038
34039       • Bug Fixes
34040
34041         • serve http: Re-add missing auth to http service (Nolan Woods)
34042
34043         • build: Update golang.org/x/sys to fix crash on macOS when  compiled
34044           with go1.17 (Herby Gillot)
34045
34046       • FTP
34047
34048         • Fix deadlock after failed update when concurrency=1 (Ivan Andreev)
34049
34050   v1.56.1 - 2021-09-19
34051       See            commits           (https://github.com/rclone/rclone/com
34052       pare/v1.56.0...v1.56.1)
34053
34054       • Bug Fixes
34055
34056         • accounting: Fix maximum bwlimit by scaling scale max  token  bucket
34057           size (Nick Craig-Wood)
34058
34059         • rc: Fix speed does not update in core/stats (negative0)
34060
34061         • selfupdate: Fix --quiet option, not quite quiet (yedamo)
34062
34063         • serve http: Fix serve http exiting directly after starting (Cnly)
34064
34065         • build
34066
34067           • Apply gofmt from golang 1.17 (Ivan Andreev)
34068
34069           • Update Go to 1.16 and NDK to 22b for android/any (x0b)
34070
34071       • Mount
34072
34073         • Fix --daemon mode (Ivan Andreev)
34074
34075       • VFS
34076
34077         • Fix duplicates on rename (Nick Craig-Wood)
34078
34079         • Fix crash when truncating a just uploaded object (Nick Craig-Wood)
34080
34081         • Fix  issue  where  empty dirs would build up in cache meta dir (al‐
34082           bertony)
34083
34084       • Drive
34085
34086         • Fix instructions for auto config (Greg Sadetsky)
34087
34088         • Fix lsf example without drive-impersonate (Greg Sadetsky)
34089
34090       • Onedrive
34091
34092         • Handle HTTP 400 better in PublicLink (Alex Chen)
34093
34094         • Clarification of the process for creating custom client_id (Mariano
34095           Absatz)
34096
34097       • Pcloud
34098
34099         • Return an early error when Put is called with an unknown size (Nick
34100           Craig-Wood)
34101
34102         • Try harder to delete a failed upload (Nick Craig-Wood)
34103
34104       • S3
34105
34106         • Add Wasabi's AP-Northeast endpoint info (hota)
34107
34108         • Fix typo in s3 documentation (Greg Sadetsky)
34109
34110       • Seafile
34111
34112         • Fix 2fa config state machine (Fred)
34113
34114       • SFTP
34115
34116         • Remove spurious error  message  on  --sftp-disable-concurrent-reads
34117           (Nick Craig-Wood)
34118
34119       • Sugarsync
34120
34121         • Fix   initial   connection   after   config   re-arrangement  (Nick
34122           Craig-Wood)
34123
34124   v1.56.0 - 2021-07-20
34125       See           commits            (https://github.com/rclone/rclone/com
34126       pare/v1.55.0...v1.56.0)
34127
34128       • New backends
34129
34130         • Uptobox (https://rclone.org/uptobox/) (buengese)
34131
34132       • New commands
34133
34134         • serve   docker   (https://rclone.org/commands/rclone_serve_docker/)
34135           (Antoine GIRARD) (Ivan Andreev)
34136
34137           • and accompanying docker volume  plugin  (https://rclone.org/dock
34138             er/)
34139
34140         • checksum  (https://rclone.org/commands/rclone_checksum/)  to  check
34141           files against a file of checksums (Ivan Andreev)
34142
34143           • this is also available as rclone md5sum -C etc
34144
34145         • config  touch   (https://rclone.org/commands/rclone_config_touch/):
34146           ensure config exists at configured location (albertony)
34147
34148         • test              changenotify             (https://rclone.org/com
34149           mands/rclone_test_changenotify/):   command   to   help   debugging
34150           changenotify (Nick Craig-Wood)
34151
34152       • Deprecations
34153
34154         • dbhashsum: Remove command deprecated a year ago (Ivan Andreev)
34155
34156         • cache: Deprecate cache backend (Ivan Andreev)
34157
34158       • New Features
34159
34160         • rework  config  system  so it can be used non-interactively via cli
34161           and rc API.
34162
34163           • See    docs    in    config    create    (https://rclone.org/com
34164             mands/rclone_config_create/)
34165
34166           • This is a very big change to all the backends so may cause break‐
34167             ages - please file bugs!
34168
34169         • librclone - export the rclone RC as a  C  library  (lewisxy)  (Nick
34170           Craig-Wood)
34171
34172           • Link a C-API rclone shared object into your project
34173
34174           • Use the RC as an in memory interface
34175
34176           • Python example supplied
34177
34178           • Also supports Android and gomobile
34179
34180         • fs
34181
34182           • Add --disable-http2 for global http2 disable (Nick Craig-Wood)
34183
34184           • Make --dump imply -vv (Alex Chen)
34185
34186           • Use binary prefixes for size and rate units (albertony)
34187
34188           • Use decimal prefixes for counts (albertony)
34189
34190           • Add google search widget to rclone.org (Ivan Andreev)
34191
34192         • accounting: Calculate rolling average speed (Haochen Tong)
34193
34194         • atexit:  Terminate  with  non-zero  status  after  receiving signal
34195           (Michael Hanselmann)
34196
34197         • build
34198
34199           • Only run event-based workflow scripts under rclone repo with man‐
34200             ual override (Mathieu Carbou)
34201
34202           • Add Android build with gomobile (x0b)
34203
34204         • check: Log the hash in use like cryptcheck does (Nick Craig-Wood)
34205
34206         • version: Print os/version, kernel and bitness (Ivan Andreev)
34207
34208         • config
34209
34210           • Prevent  use  of  Windows reserved names in config file name (al‐
34211             bertony)
34212
34213           • Create config file in windows appdata directory by  default  (al‐
34214             bertony)
34215
34216           • Treat any config file paths with filename notfound as memory-only
34217             config (albertony)
34218
34219           • Delay load config file (albertony)
34220
34221           • Replace defaultConfig with a thread-safe in-memory implementation
34222             (Chris Macklin)
34223
34224           • Allow  config  create  and  friends  to take key=value parameters
34225             (Nick Craig-Wood)
34226
34227           • Fixed issues with flags/options set by  environment  vars.   (Ole
34228             Frost)
34229
34230         • fshttp: Implement graceful DSCP error handling (Tyson Moore)
34231
34232         • lib/http  -  provides an abstraction for a central http server that
34233           services can bind routes to (Nolan Woods)
34234
34235           • Add --template config and flags to serve/data (Nolan Woods)
34236
34237           • Add default 404 handler (Nolan Woods)
34238
34239         • link: Use "off" value for unset expiry (Nick Craig-Wood)
34240
34241         • oauthutil: Raise fatal error if token expired without refresh token
34242           (Alex Chen)
34243
34244         • rcat:  Add  --size  flag  for  more efficient uploads of known size
34245           (Nazar Mishturak)
34246
34247         • serve sftp: Add --stdio flag to serve via stdio (Tom)
34248
34249         • sync: Don't warn about --no-traverse when --files-from is set (Nick
34250           Gaya)
34251
34252         • test makefiles
34253
34254           • Add   --seed  flag  and  make  data  generated  repeatable  (Nick
34255             Craig-Wood)
34256
34257           • Add log levels and speed summary (Nick Craig-Wood)
34258
34259       • Bug Fixes
34260
34261         • accounting: Fix startTime of statsGroups.sum (Haochen Tong)
34262
34263         • cmd/ncdu: Fix out of range panic in delete (buengese)
34264
34265         • config
34266
34267           • Fix issues with memory-only config file paths (albertony)
34268
34269           • Fix in memory config not saving on the fly backend  config  (Nick
34270             Craig-Wood)
34271
34272         • fshttp: Fix address parsing for DSCP (Tyson Moore)
34273
34274         • ncdu: Update termbox-go library to fix crash (Nick Craig-Wood)
34275
34276         • oauthutil: Fix old authorize result not recognised (Cnly)
34277
34278         • operations:  Don't  update  timestamps  of  files in --compare-dest
34279           (Nick Gaya)
34280
34281         • selfupdate: fix archive name on macos (Ivan Andreev)
34282
34283       • Mount
34284
34285         • Refactor before adding serve docker (Antoine GIRARD)
34286
34287       • VFS
34288
34289         • Add cache reset for --vfs-cache-max-size handling at cache poll in‐
34290           terval (Leo Luan)
34291
34292         • Fix modtime changing when reading file into cache (Nick Craig-Wood)
34293
34294         • Avoid unnecessary subdir in cache path (albertony)
34295
34296         • Fix  that  umask  option cannot be set as environment variable (al‐
34297           bertony)
34298
34299         • Do not print notice about missing poll-interval support when set to
34300           0 (albertony)
34301
34302       • Local
34303
34304         • Always  use  readlink to read symlink size for better compatibility
34305           (Nick Craig-Wood)
34306
34307         • Add  --local-unicode-normalization  (and   remove   --local-no-uni‐
34308           code-normalization) (Nick Craig-Wood)
34309
34310         • Skip entries removed concurrently with List() (Ivan Andreev)
34311
34312       • Crypt
34313
34314         • Support timestamped filenames from --b2-versions (Dominik Mydlil)
34315
34316       • B2
34317
34318         • Don't include the bucket name in public link file prefixes (Jeffrey
34319           Tolar)
34320
34321         • Fix versions and .files with no extension (Nick Craig-Wood)
34322
34323         • Factor version handling into lib/version (Dominik Mydlil)
34324
34325       • Box
34326
34327         • Use upload preflight check to avoid listings in file uploads  (Nick
34328           Craig-Wood)
34329
34330         • Return   errors  instead  of  calling  log.Fatal  with  them  (Nick
34331           Craig-Wood)
34332
34333       • Drive
34334
34335         • Switch to the  Drives  API  for  looking  up  shared  drives  (Nick
34336           Craig-Wood)
34337
34338         • Fix some google docs being treated as files (Nick Craig-Wood)
34339
34340       • Dropbox
34341
34342         • Add   --dropbox-batch-mode   flag   to  speed  up  uploading  (Nick
34343           Craig-Wood)
34344
34345           • Read the batch mode (https://rclone.org/dropbox/#batch-mode) docs
34346             for more info
34347
34348         • Set   visibility  in  link  sharing  when  --expire  is  set  (Nick
34349           Craig-Wood)
34350
34351         • Simplify chunked uploads (Alexey Ivanov)
34352
34353         • Improve "own App IP" instructions (Ivan Andreev)
34354
34355       • Fichier
34356
34357         • Check if more than one upload link is returned (Nick Craig-Wood)
34358
34359         • Support downloading password protected files and  folders  (Florian
34360           Penzkofer)
34361
34362         • Make error messages report text from the API (Nick Craig-Wood)
34363
34364         • Fix move of files in the same directory (Nick Craig-Wood)
34365
34366         • Check  that we actually got a download token and retry if we didn't
34367           (buengese)
34368
34369       • Filefabric
34370
34371         • Fix listing after change of from field from "int"  to  int.   (Nick
34372           Craig-Wood)
34373
34374       • FTP
34375
34376         • Make upload error 250 indicate success (Nick Craig-Wood)
34377
34378       • GCS
34379
34380         • Make compatible with gsutil's mtime metadata (database64128)
34381
34382         • Clean up time format constants (database64128)
34383
34384       • Google Photos
34385
34386         • Fix read only scope not being used properly (Nick Craig-Wood)
34387
34388       • HTTP
34389
34390         • Replace httplib with lib/http (Nolan Woods)
34391
34392         • Clean up Bind to better use middleware (Nolan Woods)
34393
34394       • Jottacloud
34395
34396         • Fix legacy auth with state based config system (buengese)
34397
34398         • Fix invalid url in output from link command (albertony)
34399
34400         • Add no versions option (buengese)
34401
34402       • Onedrive
34403
34404         • Add list_chunk option (Nick Gaya)
34405
34406         • Also report root error if unable to cancel multipart upload (Cnly)
34407
34408         • Fix failed to configure: empty token found error (Nick Craig-Wood)
34409
34410         • Make link return direct download link (Xuanchen Wu)
34411
34412       • S3
34413
34414         • Add --s3-no-head-object (Tatsuya Noyori)
34415
34416         • Remove   WebIdentityRoleProvider   to   fix  crash  on  auth  (Nick
34417           Craig-Wood)
34418
34419         • Don't check to see if remote is object if  it  ends  with  /  (Nick
34420           Craig-Wood)
34421
34422         • Add SeaweedFS (Chris Lu)
34423
34424         • Update Alibaba OSS endpoints (Chuan Zh)
34425
34426       • SFTP
34427
34428         • Fix  performance  regression by re-enabling concurrent writes (Nick
34429           Craig-Wood)
34430
34431         • Expand   tilde   and   environment    variables    in    configured
34432           known_hosts_file (albertony)
34433
34434       • Tardigrade
34435
34436         • Upgrade to uplink v1.4.6 (Caleb Case)
34437
34438         • Use negative offset (Caleb Case)
34439
34440         • Add warning about too many open files (acsfer)
34441
34442       • WebDAV
34443
34444         • Fix sharepoint auth over http (Nick Craig-Wood)
34445
34446         • Add headers option (Antoon Prins)
34447
34448   v1.55.1 - 2021-04-26
34449       See            commits           (https://github.com/rclone/rclone/com
34450       pare/v1.55.0...v1.55.1)
34451
34452       • Bug Fixes
34453
34454         • selfupdate
34455
34456           • Dont detect FUSE if build is static (Ivan Andreev)
34457
34458           • Add build tag noselfupdate (Ivan Andreev)
34459
34460         • sync:  Fix  incorrect  error  reported  by  graceful  cutoff  (Nick
34461           Craig-Wood)
34462
34463         • install.sh: fix macOS arm64 download (Nick Craig-Wood)
34464
34465         • build:   Fix   version  numbers  in  android  branch  builds  (Nick
34466           Craig-Wood)
34467
34468         • docs
34469
34470           • Contributing.md: update setup instructions for go1.16 (Nick Gaya)
34471
34472           • WinFsp 2021 is out of beta (albertony)
34473
34474           • Minor cleanup of space around code section (albertony)
34475
34476           • Fixed some typos (albertony)
34477
34478       • VFS
34479
34480         • Fix a code path which allows dirty data to be removed causing  data
34481           loss (Nick Craig-Wood)
34482
34483       • Compress
34484
34485         • Fix compressed name regexp (buengese)
34486
34487       • Drive
34488
34489         • Fix backend copyid of google doc to directory (Nick Craig-Wood)
34490
34491         • Don't open browser when service account...  (Ansh Mittal)
34492
34493       • Dropbox
34494
34495         • Add missing team_data.member scope for use with --impersonate (Nick
34496           Craig-Wood)
34497
34498         • Fix About after scopes changes -  rclone  config  reconnect  needed
34499           (Nick Craig-Wood)
34500
34501         • Fix  Unable  to  decrypt  returned  paths  from  changeNotify (Nick
34502           Craig-Wood)
34503
34504       • FTP
34505
34506         • Fix implicit TLS (Ivan Andreev)
34507
34508       • Onedrive
34509
34510         • Work around for random "Unable to initialize RPS" errors (OleFrost)
34511
34512       • SFTP
34513
34514         • Revert sftp library to v1.12.0 from v1.13.0 to fix performance  re‐
34515           gression (Nick Craig-Wood)
34516
34517         • Fix Update ReadFrom failed: failed to send packet: EOF errors (Nick
34518           Craig-Wood)
34519
34520       • Zoho
34521
34522         • Fix error when region isn't set (buengese)
34523
34524         • Do  not  ask  for  mountpoint  twice  when  using  headless   setup
34525           (buengese)
34526
34527   v1.55.0 - 2021-03-31
34528       See            commits           (https://github.com/rclone/rclone/com
34529       pare/v1.54.0...v1.55.0)
34530
34531       • New commands
34532
34533         • selfupdate  (https://rclone.org/commands/rclone_selfupdate/)  (Ivan
34534           Andreev)
34535
34536           • Allows  rclone  to update itself in-place or via a package (using
34537             --package flag)
34538
34539           • Reads cryptographically signed signatures for non beta releases
34540
34541           • Works on all OSes.
34542
34543         • test (https://rclone.org/commands/rclone_test/) -  these  are  test
34544           commands - use with care!
34545
34546           • histogram - Makes a histogram of file name characters.
34547
34548           • info - Discovers file name or other limitations for paths.
34549
34550           • makefiles - Make a random file hierarchy for testing.
34551
34552           • memory  - Load all the objects at remote:path into memory and re‐
34553             port memory stats.
34554
34555       • New Features
34556
34557         • Connection strings (https://rclone.org/docs/#connection-strings)
34558
34559           • Config parameters can now be passed as part of the remote name as
34560             a connection string.
34561
34562           • For  example  to  do the equivalent of --drive-shared-with-me use
34563             drive,shared_with_me:
34564
34565           • Make sure we don't save on the fly remote config  to  the  config
34566             file (Nick Craig-Wood)
34567
34568           • Make  sure  backends with additional config have a different name
34569             for caching (Nick Craig-Wood)
34570
34571           • This work was sponsored by CERN, through the CS3MESH4EOSC Project
34572             (https://cs3mesh4eosc.eu/).
34573
34574             • CS3MESH4EOSC  has  received  funding  from the European Union’s
34575               Horizon 2020
34576
34577             • research and innovation programme  under  Grant  Agreement  no.
34578               863353.
34579
34580         • build
34581
34582           • Update go build version to go1.16 and raise minimum go version to
34583             go1.13 (Nick Craig-Wood)
34584
34585           • Make  a  macOS  ARM64  build  to  support  Apple  Silicon   (Nick
34586             Craig-Wood)
34587
34588           • Install macfuse 4.x instead of osxfuse 3.x (Nick Craig-Wood)
34589
34590           • Use  GO386=softfloat  instead  of  deprecated  GO386=387  for 386
34591             builds (Nick Craig-Wood)
34592
34593           • Disable IOS builds for the time being (Nick Craig-Wood)
34594
34595           • Androids builds made with up to date NDK (x0b)
34596
34597           • Add an rclone user to the Docker image but don't use  it  by  de‐
34598             fault (cynthia kwok)
34599
34600         • dedupe: Make largest directory primary to minimize data moved (Sak‐
34601           sham Khanna)
34602
34603         • config
34604
34605           • Wrap config library in an interface (Fionera)
34606
34607           • Make config file system pluggable (Nick Craig-Wood)
34608
34609           • --config "" or  "/notfound"  for  in  memory  config  only  (Nick
34610             Craig-Wood)
34611
34612           • Clear  fs  cache  of  stale  entries  when  altering config (Nick
34613             Craig-Wood)
34614
34615         • copyurl: Add option to print resulting auto-filename (albertony)
34616
34617         • delete: Make --rmdirs obey the filters (Nick Craig-Wood)
34618
34619         • docs - many fixes and reworks from  edwardxml,  albertony,  pvalls,
34620           Ivan Andreev, Evan Harris, buengese, Alexey Tabakman
34621
34622         • encoder/filename - add SCSU as tables (Klaus Post)
34623
34624         • Add  multiple  paths support to --compare-dest and --copy-dest flag
34625           (K265)
34626
34627         • filter: Make --exclude  "dir/"  equivalent  to  --exclude  "dir/**"
34628           (Nick Craig-Wood)
34629
34630         • fshttp:  Add  DSCP  support with --dscp for QoS with differentiated
34631           services (Max Sum)
34632
34633         • lib/cache: Add Delete and DeletePrefix methods (Nick Craig-Wood)
34634
34635         • lib/file
34636
34637           • Make pre-allocate detect disk full errors and return  them  (Nick
34638             Craig-Wood)
34639
34640           • Don't run preallocate concurrently (Nick Craig-Wood)
34641
34642           • Retry preallocate on EINTR (Nick Craig-Wood)
34643
34644         • operations:  Made  copy  and sync operations obey a RetryAfterError
34645           (Ankur Gupta)
34646
34647         • rc
34648
34649           • Add string alternatives for setting options  over  the  rc  (Nick
34650             Craig-Wood)
34651
34652           • Add  options/local  to  see the options configured in the context
34653             (Nick Craig-Wood)
34654
34655           • Add _config parameter to set global config for just this rc  call
34656             (Nick Craig-Wood)
34657
34658           • Implement  passing  filter  config  with  _filter parameter (Nick
34659             Craig-Wood)
34660
34661           • Add fscache/clear and fscache/entries to  control  the  fs  cache
34662             (Nick Craig-Wood)
34663
34664           • Avoid +Inf value for speed in core/stats (albertony)
34665
34666           • Add a full set of stats to core/stats (Nick Craig-Wood)
34667
34668           • Allow fs= params to be a JSON blob (Nick Craig-Wood)
34669
34670         • rcd:  Added  systemd  notification  during  the rclone rcd command.
34671           (Naveen Honest Raj)
34672
34673         • rmdirs: Make --rmdirs obey the filters (Nick Craig-Wood)
34674
34675         • version: Show build tags and type of executable (Ivan Andreev)
34676
34677       • Bug Fixes
34678
34679         • install.sh: make it fail on download errors (Ivan Andreev)
34680
34681         • Fix  excessive  retries  missing   --max-duration   timeout   (Nick
34682           Craig-Wood)
34683
34684         • Fix crash when --low-level-retries=0 (Nick Craig-Wood)
34685
34686         • Fix  failed  token  refresh  on  mounts  created  via  the rc (Nick
34687           Craig-Wood)
34688
34689         • fshttp: Fix bandwidth limiting after bad merge (Nick Craig-Wood)
34690
34691         • lib/atexit
34692
34693           • Unregister interrupt handler once it has fired so users  can  in‐
34694             terrupt again (Nick Craig-Wood)
34695
34696           • Fix occasional failure to unmount with CTRL-C (Nick Craig-Wood)
34697
34698           • Fix   deadlock  calling  Finalise  while  Run  is  running  (Nick
34699             Craig-Wood)
34700
34701         • lib/rest: Fix multipart uploads  not  stopping  on  context  cancel
34702           (Nick Craig-Wood)
34703
34704       • Mount
34705
34706         • Allow mounting to root directory on windows (albertony)
34707
34708         • Improved handling of relative paths on windows (albertony)
34709
34710         • Fix   unicode  issues  with  accented  characters  on  macOS  (Nick
34711           Craig-Wood)
34712
34713         • Docs: document the new FileSecurity  option  in  WinFsp  2021  (al‐
34714           bertony)
34715
34716         • Docs: add note about volume path syntax on windows (albertony)
34717
34718         • Fix   caching   of   old  directories  after  renaming  them  (Nick
34719           Craig-Wood)
34720
34721         • Update cgofuse to the latest version to  bring  in  macfuse  4  fix
34722           (Nick Craig-Wood)
34723
34724       • VFS
34725
34726         • --vfs-used-is-size  to  report  used  space  using  recursive  scan
34727           (tYYGH)
34728
34729         • Don't set  modification  time  if  it  was  already  correct  (Nick
34730           Craig-Wood)
34731
34732         • Fix  Create  causing  windows  explorer to truncate files on CTRL-C
34733           CTRL-V (Nick Craig-Wood)
34734
34735         • Fix modtimes not updating when writing via cache (Nick Craig-Wood)
34736
34737         • Fix modtimes changing by  fractional  seconds  after  upload  (Nick
34738           Craig-Wood)
34739
34740         • Fix  modtime set if --vfs-cache-mode writes/full and no write (Nick
34741           Craig-Wood)
34742
34743         • Rename files in cache and cancel uploads on directory rename  (Nick
34744           Craig-Wood)
34745
34746         • Fix  directory  renaming  by  renaming  dirs cached in memory (Nick
34747           Craig-Wood)
34748
34749       • Local
34750
34751         • Add flag --local-no-preallocate (David Sze)
34752
34753         • Make nounc an advanced option except on Windows (albertony)
34754
34755         • Don't ignore preallocate disk full errors (Nick Craig-Wood)
34756
34757       • Cache
34758
34759         • Add  --fs-cache-expire-duration  to  control  the  fs  cache  (Nick
34760           Craig-Wood)
34761
34762       • Crypt
34763
34764         • Add option to not encrypt data (Vesnyx)
34765
34766         • Log hash ok on upload (albertony)
34767
34768       • Azure Blob
34769
34770         • Add container public access level support.  (Manish Kumar)
34771
34772       • B2
34773
34774         • Fix HTML files downloaded via cloudflare (Nick Craig-Wood)
34775
34776       • Box
34777
34778         • Fix  transfers getting stuck on token expiry after API change (Nick
34779           Craig-Wood)
34780
34781       • Chunker
34782
34783         • Partially implement no-rename transactions (Maxwell Calman)
34784
34785       • Drive
34786
34787         • Don't stop server side copy  if  couldn't  read  description  (Nick
34788           Craig-Wood)
34789
34790         • Pass  context  on  to  drive  SDK - to help with cancellation (Nick
34791           Craig-Wood)
34792
34793       • Dropbox
34794
34795         • Add polling for changes support (Robert Thomas)
34796
34797         • Make --timeout 0 work properly (Nick Craig-Wood)
34798
34799         • Raise priority of rate limited message to INFO to make it more  no‐
34800           ticeable (Nick Craig-Wood)
34801
34802       • Fichier
34803
34804         • Implement copy & move (buengese)
34805
34806         • Implement public link (buengese)
34807
34808       • FTP
34809
34810         • Implement Shutdown method (Nick Craig-Wood)
34811
34812         • Close  idle  connections  after  --ftp-idle-timeout (1m by default)
34813           (Nick Craig-Wood)
34814
34815         • Make --timeout 0 work properly (Nick Craig-Wood)
34816
34817         • Add --ftp-close-timeout flag for use with awkward ftp servers (Nick
34818           Craig-Wood)
34819
34820         • Retry connections and logins on 421 errors (Nick Craig-Wood)
34821
34822       • Hdfs
34823
34824         • Fix permissions for when directory is created (Lucas Messenger)
34825
34826       • Onedrive
34827
34828         • Make --timeout 0 work properly (Nick Craig-Wood)
34829
34830       • S3
34831
34832         • Fix --s3-profile which wasn't working (Nick Craig-Wood)
34833
34834       • SFTP
34835
34836         • Close  idle  connections  after --sftp-idle-timeout (1m by default)
34837           (Nick Craig-Wood)
34838
34839         • Fix "file not found" errors for read once servers (Nick Craig-Wood)
34840
34841         • Fix SetModTime stat failed: object not found  with  --sftp-set-mod‐
34842           time=false (Nick Craig-Wood)
34843
34844       • Swift
34845
34846         • Update github.com/ncw/swift to v2.0.0 (Nick Craig-Wood)
34847
34848         • Implement copying large objects (nguyenhuuluan434)
34849
34850       • Union
34851
34852         • Fix crash when using epff policy (Nick Craig-Wood)
34853
34854         • Fix  union  attempting  to  update files on a read only file system
34855           (Nick Craig-Wood)
34856
34857         • Refactor to use  fspath.SplitFs  instead  of  fs.ParseRemote  (Nick
34858           Craig-Wood)
34859
34860         • Fix initialisation broken in refactor (Nick Craig-Wood)
34861
34862       • WebDAV
34863
34864         • Add support for sharepoint with NTLM authentication (Rauno Ots)
34865
34866         • Make sharepoint-ntlm docs more consistent (Alex Chen)
34867
34868         • Improve terminology in sharepoint-ntlm docs (Ivan Andreev)
34869
34870         • Disable HTTP/2 for NTLM authentication (georne)
34871
34872         • Fix sharepoint-ntlm error 401 for parallel actions (Ivan Andreev)
34873
34874         • Check that purged directory really exists (Ivan Andreev)
34875
34876       • Yandex
34877
34878         • Make --timeout 0 work properly (Nick Craig-Wood)
34879
34880       • Zoho
34881
34882         • Replace  client id - you will need to rclone config reconnect after
34883           this (buengese)
34884
34885         • Add forgotten setupRegion() to NewFs - this finally  fixes  regions
34886           other than EU (buengese)
34887
34888   v1.54.1 - 2021-03-08
34889       See            commits           (https://github.com/rclone/rclone/com
34890       pare/v1.54.0...v1.54.1)
34891
34892       • Bug Fixes
34893
34894         • accounting: Fix --bwlimit when up or down is off (Nick Craig-Wood)
34895
34896         • docs
34897
34898           • Fix nesting of brackets and backticks in ftp docs (edwardxml)
34899
34900           • Fix broken link in sftp page (edwardxml)
34901
34902           • Fix typo in crypt.md (Romeo Kienzler)
34903
34904           • Changelog: Correct link to digitalis.io (Alex JOST)
34905
34906           • Replace #file-caching with #vfs-file-caching (Miron Veryanskiy)
34907
34908           • Convert bogus example link to code (edwardxml)
34909
34910           • Remove dead link from rc.md (edwardxml)
34911
34912         • rc: Sync,copy,move:  document  createEmptySrcDirs  parameter  (Nick
34913           Craig-Wood)
34914
34915         • lsjson:  Fix  unterminated  JSON  in  the  presence of errors (Nick
34916           Craig-Wood)
34917
34918       • Mount
34919
34920         • Fix mount dropping on macOS by setting --daemon-timeout  10m  (Nick
34921           Craig-Wood)
34922
34923       • VFS
34924
34925         • Document  simultaneous  usage with the same cache shouldn't be used
34926           (Nick Craig-Wood)
34927
34928       • B2
34929
34930         • Automatically raise upload cutoff to  avoid  spurious  error  (Nick
34931           Craig-Wood)
34932
34933         • Fix  failed to create file system with application key limited to a
34934           prefix (Nick Craig-Wood)
34935
34936       • Drive
34937
34938         • Refer to Shared Drives instead of Team Drives (Nick Craig-Wood)
34939
34940       • Dropbox
34941
34942         • Add scopes to oauth request  and  optionally  "members.read"  (Nick
34943           Craig-Wood)
34944
34945       • S3
34946
34947         • Fix failed to create file system with folder level permissions pol‐
34948           icy (Nick Craig-Wood)
34949
34950         • Fix Wasabi HEAD requests returning  stale  data  by  using  only  1
34951           transport (Nick Craig-Wood)
34952
34953         • Fix shared_credentials_file auth (Dmitry Chepurovskiy)
34954
34955         • Add --s3-no-head to reducing costs docs (Nick Craig-Wood)
34956
34957       • Union
34958
34959         • Fix mkdir at root with remote:/ (Nick Craig-Wood)
34960
34961       • Zoho
34962
34963         • Fix custom client id's (buengese)
34964
34965   v1.54.0 - 2021-02-02
34966       See            commits           (https://github.com/rclone/rclone/com
34967       pare/v1.53.0...v1.54.0)
34968
34969       • New backends
34970
34971         • Compression remote (experimental) (buengese)
34972
34973         • Enterprise File Fabric (Nick Craig-Wood)
34974
34975           • This work was sponsored by Storage  Made  Easy  (https://storage
34976             madeeasy.com/)
34977
34978         • HDFS (Hadoop Distributed File System) (Yury Stankevich)
34979
34980         • Zoho workdrive (buengese)
34981
34982       • New Features
34983
34984         • Deglobalise the config (Nick Craig-Wood)
34985
34986           • Global config now read from the context
34987
34988           • This will enable passing of global config via the rc
34989
34990           • This work was sponsored by Digitalis (https://digitalis.io/)
34991
34992         • Add --bwlimit for upload and download (Nick Craig-Wood)
34993
34994           • Obey bwlimit in http Transport for better limiting
34995
34996         • Enhance systemd integration (Hekmon)
34997
34998           • log  level identification, manual activation with flag, automatic
34999             systemd launch detection
35000
35001           • Don't compile systemd log integration for non unix systems  (Ben‐
35002             jamin Gustin)
35003
35004         • Add  a --download flag to md5sum/sha1sum/hashsum to force rclone to
35005           download and hash files locally (lostheli)
35006
35007         • Add --progress-terminal-title to print ETA to terminal  title  (La‐
35008           Sombra)
35009
35010         • Make  backend  env  vars  show  in help as the defaults for backend
35011           flags (Nick Craig-Wood)
35012
35013         • build
35014
35015           • Raise minimum go version to go1.12 (Nick Craig-Wood)
35016
35017         • dedupe
35018
35019           • Add --by-hash to dedupe on  content  hash  not  file  name  (Nick
35020             Craig-Wood)
35021
35022           • Add --dedupe-mode list to just list dupes, changing nothing (Nick
35023             Craig-Wood)
35024
35025           • Add warning if used on a remote which can't have duplicate  names
35026             (Nick Craig-Wood)
35027
35028         • fs
35029
35030           • Add Shutdown optional method for backends (Nick Craig-Wood)
35031
35032           • When using --files-from check files concurrently (zhucan)
35033
35034           • Accumulate stats when using --dry-run (Ingo Weiss)
35035
35036           • Always  show  stats  when  using --dry-run or --interactive (Nick
35037             Craig-Wood)
35038
35039           • Add support for flag --no-console on windows to hide the  console
35040             window (albertony)
35041
35042         • genautocomplete: Add support to output to stdout (Ingo)
35043
35044         • ncdu
35045
35046           • Highlight read errors instead of aborting (Claudio Bantaloukas)
35047
35048           • Add sort by average size in directory (Adam Plánský)
35049
35050           • Add  toggle option for average s3ize in directory - key 'a' (Adam
35051             Plánský)
35052
35053           • Add empty folder flag into ncdu browser (Adam Plánský)
35054
35055           • Add ! (errror) and . (unreadable) file flags to go with e (empty)
35056             (Nick Craig-Wood)
35057
35058         • obscure:  Make rclone osbcure - ignore newline at end of line (Nick
35059           Craig-Wood)
35060
35061         • operations
35062
35063           • Add logs when need  to  upload  files  to  set  mod  times  (Nick
35064             Craig-Wood)
35065
35066           • Move and copy log name of the destination object in verbose (Adam
35067             Plánský)
35068
35069           • Add size if known to skipped items and JSON log (Nick Craig-Wood)
35070
35071         • rc
35072
35073           • Prefer actual listener address if using ":port" or "addr:0"  only
35074             (Nick Craig-Wood)
35075
35076           • Add listener for finished jobs (Aleksandar Jankovic)
35077
35078         • serve ftp: Add options to enable TLS (Deepak Sah)
35079
35080         • serve  http/webdav: Redirect requests to the base url without the /
35081           (Nick Craig-Wood)
35082
35083         • serve restic: Implement object cache (Nick Craig-Wood)
35084
35085         • stats: Add counter for deleted directories (Nick Craig-Wood)
35086
35087         • sync: Only print "There was nothing to transfer" if no errors (Nick
35088           Craig-Wood)
35089
35090         • webui
35091
35092           • Prompt  user  for updating webui if an update is available (Chai‐
35093             tanya Bankanhal)
35094
35095           • Fix plugins initialization (negative0)
35096
35097       • Bug Fixes
35098
35099         • fs
35100
35101           • Fix nil pointer on copy &  move  operations  directly  to  remote
35102             (Anagh Kumar Baranwal)
35103
35104           • Fix parsing of ..  when joining remotes (Nick Craig-Wood)
35105
35106         • log:  Fix  enabling  systemd  logging  when  using --log-file (Nick
35107           Craig-Wood)
35108
35109         • check
35110
35111           • Make  the  error  count  match  up  in  the  log  message   (Nick
35112             Craig-Wood)
35113
35114         • move: Fix data loss when source and destination are the same object
35115           (Nick Craig-Wood)
35116
35117         • operations
35118
35119           • Fix  --cutof-mode  hard  not  cutting   off   immediately   (Nick
35120             Craig-Wood)
35121
35122           • Fix --immutable error message (Nick Craig-Wood)
35123
35124         • sync
35125
35126           • Fix  --cutoff-mode soft & cautious so it doesn't end the transfer
35127             early (Nick Craig-Wood)
35128
35129           • Fix --immutable errors retrying many times (Nick Craig-Wood)
35130
35131       • Docs
35132
35133         • Many fixes and a rewrite of the filtering docs (edwardxml)
35134
35135         • Many spelling and grammar fixes (Josh Soref)
35136
35137         • Doc fixes for commands delete, purge, rmdir, rmdirs and mount  (al‐
35138           bertony)
35139
35140         • And thanks to these people for many doc fixes too numerous to list
35141
35142           • Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart
35143
35144           • CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly
35145
35146           • Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
35147
35148           • Martin Michlmayr, Milly, Sơn Trần-Nguyễn
35149
35150       • Mount
35151
35152         • Update systemd status with cache stats (Hekmon)
35153
35154         • Disable bazil/fuse based mount on macOS (Nick Craig-Wood)
35155
35156           • Make  rclone  mount  actually run rclone cmount under macOS (Nick
35157             Craig-Wood)
35158
35159         • Implement mknod to make NFS file creation work (Nick Craig-Wood)
35160
35161         • Make sure we don't call umount more than once (Nick Craig-Wood)
35162
35163         • More user friendly mounting as network drive on windows (albertony)
35164
35165         • Detect  if  uid  or  gid  are  set  in  same  option   string:   -o
35166           uid=123,gid=456 (albertony)
35167
35168         • Don't  attempt  to  unmount  if fs has been destroyed already (Nick
35169           Craig-Wood)
35170
35171       • VFS
35172
35173         • Fix virtual entries causing deleted files  to  still  appear  (Nick
35174           Craig-Wood)
35175
35176         • Fix  "file  already  exists"  error  for  stale  cache  files (Nick
35177           Craig-Wood)
35178
35179         • Fix file leaks with --vfs-cache-mode full and --buffer-size 0 (Nick
35180           Craig-Wood)
35181
35182         • Fix  invalid  cache  path on windows when using :backend: as remote
35183           (albertony)
35184
35185       • Local
35186
35187         • Continue listing files/folders when a circular symlink is  detected
35188           (Manish Gupta)
35189
35190         • New  flag  --local-zero-size-links  to  fix  sync  on  some virtual
35191           filesystems (Riccardo Iaconelli)
35192
35193       • Azure Blob
35194
35195         • Add support for service principals (James Lim)
35196
35197         • Add support for managed identities (Brad Ackerman)
35198
35199         • Add examples for access tier (Bob Pusateri)
35200
35201         • Utilize the streaming capabilities from the SDK for  multipart  up‐
35202           loads (Denis Neuling)
35203
35204         • Fix setting of mime types (Nick Craig-Wood)
35205
35206         • Fix crash when listing outside a SAS URL's root (Nick Craig-Wood)
35207
35208         • Delete   archive   tier  blobs  before  update  if  --azureblob-ar‐
35209           chive-tier-delete (Nick Craig-Wood)
35210
35211         • Fix crash on startup (Nick Craig-Wood)
35212
35213         • Fix memory usage by upgrading the SDK to v0.13.0 and implementing a
35214           TransferManager (Nick Craig-Wood)
35215
35216         • Require go1.14+ to compile due to SDK changes (Nick Craig-Wood)
35217
35218       • B2
35219
35220         • Make NewObject use less expensive API calls (Nick Craig-Wood)
35221
35222           • This will improve --files-from and restic serve in particular
35223
35224         • Fixed crash on an empty file name (lluuaapp)
35225
35226       • Box
35227
35228         • Fix NewObject for files that differ in case (Nick Craig-Wood)
35229
35230         • Fix finding directories in a case insentive way (Nick Craig-Wood)
35231
35232       • Chunker
35233
35234         • Skip long local hashing, hash in-transit (fixes) (Ivan Andreev)
35235
35236         • Set Features ReadMimeType to false as Object.MimeType not supported
35237           (Nick Craig-Wood)
35238
35239         • Fix case-insensitive NewObject, test metadata detection  (Ivan  An‐
35240           dreev)
35241
35242       • Drive
35243
35244         • Implement  rclone  backend  copyid  command for copying files by ID
35245           (Nick Craig-Wood)
35246
35247         • Added flag --drive-stop-on-download-limit to  stop  transfers  when
35248           the download limit is exceeded (Anagh Kumar Baranwal)
35249
35250         • Implement CleanUp workaround for team drives (buengese)
35251
35252         • Allow   shortcut  resolution  and  creation  to  be  retried  (Nick
35253           Craig-Wood)
35254
35255         • Log that emptying the trash can take some time (Nick Craig-Wood)
35256
35257         • Add xdg office icons to xdg desktop files (Pau Rodriguez-Estivill)
35258
35259       • Dropbox
35260
35261         • Add support for viewing shared files and folders (buengese)
35262
35263         • Enable short lived access tokens (Nick Craig-Wood)
35264
35265         • Implement IDer on Objects so  rclone  lsf  etc  can  read  the  IDs
35266           (buengese)
35267
35268         • Set Features ReadMimeType to false as Object.MimeType not supported
35269           (Nick Craig-Wood)
35270
35271         • Make malformed_path errors from too long files not retriable  (Nick
35272           Craig-Wood)
35273
35274         • Test  file  name  length  before  upload  to  fix upload loop (Nick
35275           Craig-Wood)
35276
35277       • Fichier
35278
35279         • Set Features ReadMimeType to true as Object.MimeType  is  supported
35280           (Nick Craig-Wood)
35281
35282       • FTP
35283
35284         • Add --ftp-disable-msld option to ignore MLSD for really old servers
35285           (Nick Craig-Wood)
35286
35287         • Make --tpslimit apply (Nick Craig-Wood)
35288
35289       • Google Cloud Storage
35290
35291         • Storage class object header support (Laurens Janssen)
35292
35293         • Fix anonymous client to use rclone's HTTP client (Nick Craig-Wood)
35294
35295         • Fix Entry doesn't belong in directory "" (same as directory) -  ig‐
35296           noring (Nick Craig-Wood)
35297
35298       • Googlephotos
35299
35300         • New flag --gphotos-include-archived to show archived photos as well
35301           (Nicolas Rueff)
35302
35303       • Jottacloud
35304
35305         • Don't erroneously report support for writing mime types (buengese)
35306
35307         • Add support for Telia Cloud (Patrik Nordlén)
35308
35309       • Mailru
35310
35311         • Accept special folders eg camera-upload (Ivan Andreev)
35312
35313         • Avoid prehashing of large local files (Ivan Andreev)
35314
35315         • Fix uploads after recent changes on server (Ivan Andreev)
35316
35317         • Fix range requests after June 2020 changes on server (Ivan Andreev)
35318
35319         • Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
35320
35321         • Remove deprecated protocol quirks (Ivan Andreev)
35322
35323       • Memory
35324
35325         • Fix setting of mime types (Nick Craig-Wood)
35326
35327       • Onedrive
35328
35329         • Add support for China region operated by 21vianet and other region‐
35330           al suppliers (NyaMisty)
35331
35332         • Warn on gateway timeout errors (Nick Craig-Wood)
35333
35334         • Fall  back  to  normal  copy  if server-side copy unavailable (Alex
35335           Chen)
35336
35337         • Fix server-side copy completely disabled on OneDrive  for  Business
35338           (Cnly)
35339
35340         • (business  only) workaround to replace existing file on server-side
35341           copy (Alex Chen)
35342
35343         • Enhance link creation with expiry, scope, type and  password  (Nick
35344           Craig-Wood)
35345
35346         • Remove % and # from the set of encoded characters (Alex Chen)
35347
35348         • Support addressing site by server-relative URL (kice)
35349
35350       • Opendrive
35351
35352         • Fix finding directories in a case insensitive way (Nick Craig-Wood)
35353
35354       • Pcloud
35355
35356         • Fix setting of mime types (Nick Craig-Wood)
35357
35358       • Premiumizeme
35359
35360         • Fix finding directories in a case insensitive way (Nick Craig-Wood)
35361
35362       • Qingstor
35363
35364         • Fix error propagation in CleanUp (Nick Craig-Wood)
35365
35366         • Fix rclone cleanup (Nick Craig-Wood)
35367
35368       • S3
35369
35370         • Added --s3-disable-http2 to disable http/2 (Anagh Kumar Baranwal)
35371
35372         • Complete SSE-C implementation (Nick Craig-Wood)
35373
35374           • Fix   hashes   on  small  files  with  AWS:KMS  and  SSE-C  (Nick
35375             Craig-Wood)
35376
35377           • Add MD5 metadata to objects  uploaded  with  SSE-AWS/SSE-C  (Nick
35378             Craig-Wood)
35379
35380         • Add --s3-no-head parameter to minimise transactions on upload (Nick
35381           Craig-Wood)
35382
35383         • Update docs with a Reducing Costs section (Nick Craig-Wood)
35384
35385         • Added error handling for error code 429  indicating  too  many  re‐
35386           quests (Anagh Kumar Baranwal)
35387
35388         • Add requester pays option (kelv)
35389
35390         • Fix  copy  multipart  with  v2 auth failing with 'SignatureDoesNot‐
35391           Match' (Louis Koo)
35392
35393       • SFTP
35394
35395         • Allow cert based auth via optional pubkey (Stephen Harris)
35396
35397         • Allow user to optionally check server hosts  key  to  add  security
35398           (Stephen Harris)
35399
35400         • Defer  asking  for user passwords until the SSH connection succeeds
35401           (Stephen Harris)
35402
35403         • Remember entered password in AskPass mode (Stephen Harris)
35404
35405         • Implement Shutdown method (Nick Craig-Wood)
35406
35407         • Implement keyboard interactive authentication (Nick Craig-Wood)
35408
35409         • Make --tpslimit apply (Nick Craig-Wood)
35410
35411         • Implement  --sftp-use-fstat  for   unusual   SFTP   servers   (Nick
35412           Craig-Wood)
35413
35414       • Sugarsync
35415
35416         • Fix NewObject for files that differ in case (Nick Craig-Wood)
35417
35418         • Fix finding directories in a case insentive way (Nick Craig-Wood)
35419
35420       • Swift
35421
35422         • Fix  deletion  of  parts  of  Static Large Object (SLO) (Nguyễn Hữu
35423           Luân)
35424
35425         • Ensure  partially  uploaded  large  files   are   uploaded   unless
35426           --swift-leave-parts-on-error (Nguyễn Hữu Luân)
35427
35428       • Tardigrade
35429
35430         • Upgrade to uplink v1.4.1 (Caleb Case)
35431
35432       • WebDAV
35433
35434         • Updated  docs  to  show  streaming  to nextcloud is working (Durval
35435           Menezes)
35436
35437       • Yandex
35438
35439         • Set Features WriteMimeType to false as Yandex  ignores  mime  types
35440           (Nick Craig-Wood)
35441
35442   v1.53.4 - 2021-01-20
35443       See            commits           (https://github.com/rclone/rclone/com
35444       pare/v1.53.3...v1.53.4)
35445
35446       • Bug Fixes
35447
35448         • accounting: Fix data race in Transferred() (Maciej Zimnoch)
35449
35450         • build
35451
35452           • Stop tagged releases making a current beta (Nick Craig-Wood)
35453
35454           • Upgrade docker buildx action (Matteo Pietro Dazzi)
35455
35456           • Add -buildmode to cross-compile.go (Nick Craig-Wood)
35457
35458           • Fix  docker  build  by  upgrading  ilteoood/docker_buildx   (Nick
35459             Craig-Wood)
35460
35461           • Revert  GitHub  actions  brew  fix  since this is now fixed (Nick
35462             Craig-Wood)
35463
35464           • Fix brew install --cask syntax for macOS build (Nick Craig-Wood)
35465
35466           • Update nfpm syntax to  fix  build  of  .deb/.rpm  packages  (Nick
35467             Craig-Wood)
35468
35469           • Fix for Windows build errors (Ivan Andreev)
35470
35471         • fs: Parseduration: fixed tests to use UTC time (Ankur Gupta)
35472
35473         • fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins)
35474
35475         • rc
35476
35477           • Fix core/command giving 500 internal error (Nick Craig-Wood)
35478
35479           • Add Copy method to rc.Params (Nick Craig-Wood)
35480
35481           • Fix  500  error  when  marshalling errors from core/command (Nick
35482             Craig-Wood)
35483
35484           • plugins: Create plugins files only if webui is  enabled.   (nega‐
35485             tive0)
35486
35487         • serve http: Fix serving files of unknown length (Nick Craig-Wood)
35488
35489         • serve  sftp:  Fix  authentication on one connection blocking others
35490           (Nick Craig-Wood)
35491
35492       • Mount
35493
35494         • Add optional brew tag to throw an error when using mount in the bi‐
35495           naries installed via Homebrew (Anagh Kumar Baranwal)
35496
35497         • Add  "."  and  ".." to directories to match cmount and expectations
35498           (Nick Craig-Wood)
35499
35500       • VFS
35501
35502         • Make cache dir absolute before using it to fix path too long errors
35503           (Nick Craig-Wood)
35504
35505       • Chunker
35506
35507         • Improve detection of incompatible metadata (Ivan Andreev)
35508
35509       • Google Cloud Storage
35510
35511         • Fix server side copy of large objects (Nick Craig-Wood)
35512
35513       • Jottacloud
35514
35515         • Fix token renewer to fix long uploads (Nick Craig-Wood)
35516
35517         • Fix  token  refresh  failed:  is  not  a  regular  file error (Nick
35518           Craig-Wood)
35519
35520       • Pcloud
35521
35522         • Only use SHA1 hashes in EU region (Nick Craig-Wood)
35523
35524       • Sharefile
35525
35526         • Undo Fix backend due to API swapping  integers  for  strings  (Nick
35527           Craig-Wood)
35528
35529       • WebDAV
35530
35531         • Fix Open Range requests to fix 4shared mount (Nick Craig-Wood)
35532
35533         • Add "Depth: 0" to GET requests to fix bitrix (Nick Craig-Wood)
35534
35535   v1.53.3 - 2020-11-19
35536       See            commits           (https://github.com/rclone/rclone/com
35537       pare/v1.53.2...v1.53.3)
35538
35539       • Bug Fixes
35540
35541         • random: Fix incorrect  use  of  math/rand  instead  of  crypto/rand
35542           CVE-2020-28924 (Nick Craig-Wood)
35543
35544           • Passwords you have generated with rclone config may be insecure
35545
35546           • See  issue  #4783  (https://github.com/rclone/rclone/issues/4783)
35547             for more details and a checking tool
35548
35549         • random: Seed math/rand in one place with crypto strong  seed  (Nick
35550           Craig-Wood)
35551
35552       • VFS
35553
35554         • Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood)
35555
35556       • Sharefile
35557
35558         • Fix  backend  due  to  API  swapping  integers  for  strings  (Nick
35559           Craig-Wood)
35560
35561   v1.53.2 - 2020-10-26
35562       See           commits            (https://github.com/rclone/rclone/com
35563       pare/v1.53.1...v1.53.2)
35564
35565       • Bug Fixes
35566
35567         • acounting
35568
35569           • Fix   incorrect   speed  and  transferTime  in  core/stats  (Nick
35570             Craig-Wood)
35571
35572           • Stabilize display order of transfers on Windows (Nick Craig-Wood)
35573
35574         • operations
35575
35576           • Fix use of --suffix without --backup-dir (Nick Craig-Wood)
35577
35578           • Fix spurious "--checksum is in use but the source and destination
35579             have no hashes in common" (Nick Craig-Wood)
35580
35581         • build
35582
35583           • Work around GitHub actions brew problem (Nick Craig-Wood)
35584
35585           • Stop  using  set-env  and  set-path  in  the GitHub actions (Nick
35586             Craig-Wood)
35587
35588       • Mount
35589
35590         • mount2: Fix the swapped UID / GID values (Russell Cattelan)
35591
35592       • VFS
35593
35594         • Detect and recover from a file being removed  externally  from  the
35595           cache (Nick Craig-Wood)
35596
35597         • Fix a deadlock vulnerability in downloaders.Close (Leo Luan)
35598
35599         • Fix a race condition in retryFailedResets (Leo Luan)
35600
35601         • Fix missed concurrency control between some item operations and re‐
35602           set (Leo Luan)
35603
35604         • Add exponential backoff during ENOSPC retries (Leo Luan)
35605
35606         • Add a missed update of used cache space (Leo Luan)
35607
35608         • Fix --no-modtime to not attempt to  set  modtimes  (as  documented)
35609           (Nick Craig-Wood)
35610
35611       • Local
35612
35613         • Fix  sizes  and  syncing  with  --links  option  on  Windows  (Nick
35614           Craig-Wood)
35615
35616       • Chunker
35617
35618         • Disable ListR to fix missing files on GDrive (workaround) (Ivan An‐
35619           dreev)
35620
35621         • Fix upload over crypt (Ivan Andreev)
35622
35623       • Fichier
35624
35625         • Increase maximum file size from 100GB to 300GB (gyutw)
35626
35627       • Jottacloud
35628
35629         • Remove  clientSecret  from config when upgrading to token based au‐
35630           thentication (buengese)
35631
35632         • Avoid double url escaping of device/mountpoint (albertony)
35633
35634         • Remove DirMove workaround as  it's  not  required  anymore  -  also
35635           (buengese)
35636
35637       • Mailru
35638
35639         • Fix uploads after recent changes on server (Ivan Andreev)
35640
35641         • Fix range requests after june changes on server (Ivan Andreev)
35642
35643         • Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
35644
35645       • Onedrive
35646
35647         • Fix disk usage for sharepoint (Nick Craig-Wood)
35648
35649       • S3
35650
35651         • Add missing regions for AWS (Anagh Kumar Baranwal)
35652
35653       • Seafile
35654
35655         • Fix accessing libraries > 2GB on 32 bit systems (Muffin King)
35656
35657       • SFTP
35658
35659         • Always convert the checksum to lower case (buengese)
35660
35661       • Union
35662
35663         • Create root directories if none exist (Nick Craig-Wood)
35664
35665   v1.53.1 - 2020-09-13
35666       See            commits           (https://github.com/rclone/rclone/com
35667       pare/v1.53.0...v1.53.1)
35668
35669       • Bug Fixes
35670
35671         • accounting: Remove new line from end  of  --stats-one-line  display
35672           (Nick Craig-Wood)
35673
35674         • check
35675
35676           • Add back missing --download flag (Nick Craig-Wood)
35677
35678           • Fix docs (Nick Craig-Wood)
35679
35680         • docs
35681
35682           • Note --log-file does append (Nick Craig-Wood)
35683
35684           • Add full stops for consistency in rclone --help (edwardxml)
35685
35686           • Add Tencent COS to s3 provider list (wjielai)
35687
35688           • Updated mount command to reflect that it requires Go 1.13 or new‐
35689             er (Evan Harris)
35690
35691           • jottacloud: Mention that uploads from local disk will not need to
35692             cache files to disk for md5 calculation (albertony)
35693
35694           • Fix formatting of rc docs page (Nick Craig-Wood)
35695
35696         • build
35697
35698           • Include  vendor  tar  ball  in  release  and  fix  startdev (Nick
35699             Craig-Wood)
35700
35701           • Fix  "Illegal  instruction"  error   for   ARMv6   builds   (Nick
35702             Craig-Wood)
35703
35704           • Fix architecture name in ARMv7 build (Nick Craig-Wood)
35705
35706       • VFS
35707
35708         • Fix  spurious  error "vfs cache: failed to _ensure cache EOF" (Nick
35709           Craig-Wood)
35710
35711         • Log an ERROR if we  fail  to  set  the  file  to  be  sparse  (Nick
35712           Craig-Wood)
35713
35714       • Local
35715
35716         • Log  an  ERROR  if  we  fail  to  set  the  file to be sparse (Nick
35717           Craig-Wood)
35718
35719       • Drive
35720
35721         • Re-adds special oauth help text (Tim Gallant)
35722
35723       • Opendrive
35724
35725         • Do not retry 400 errors (Evan Harris)
35726
35727   v1.53.0 - 2020-09-02
35728       See           commits            (https://github.com/rclone/rclone/com
35729       pare/v1.52.0...v1.53.0)
35730
35731       • New Features
35732
35733         • The VFS layer (https://rclone.org/commands/rclone_mount/#vfs-virtu‐
35734           al-file-system) was heavily reworked for this release -  see  below
35735           for more details
35736
35737         • Interactive  mode -i/--interactive (https://rclone.org/docs/#inter‐
35738           active) for destructive operations (fishbullet)
35739
35740         • Add   --bwlimit-file   (https://rclone.org/docs/#bwlimit-file-band‐
35741           width-spec) flag to limit speeds of individual file transfers (Nick
35742           Craig-Wood)
35743
35744         • Transfers are sorted by start time in the stats and progress output
35745           (Max Sum)
35746
35747         • Make sure backends expand ~ and environment vars in file names they
35748           use (Nick Craig-Wood)
35749
35750         • Add --refresh-times  (https://rclone.org/docs/#refresh-times)  flag
35751           to set modtimes on hashless backends (Nick Craig-Wood)
35752
35753         • build
35754
35755           • Remove vendor directory in favour of Go modules (Nick Craig-Wood)
35756
35757           • Build with go1.15.x by default (Nick Craig-Wood)
35758
35759           • Drop macOS 386 build as it is no longer supported by go1.15 (Nick
35760             Craig-Wood)
35761
35762           • Add ARMv7 to the supported builds (Nick Craig-Wood)
35763
35764           • Enable rclone cmount on macOS (Nick Craig-Wood)
35765
35766           • Make rclone build with gccgo (Nick Craig-Wood)
35767
35768           • Make rclone build with wasm (Nick Craig-Wood)
35769
35770           • Change beta numbering to be semver compatible (Nick Craig-Wood)
35771
35772           • Add file properties and icon to Windows executable (albertony)
35773
35774           • Add experimental interface for integrating rclone  into  browsers
35775             (Nick Craig-Wood)
35776
35777         • lib: Add file name compression (Klaus Post)
35778
35779         • rc
35780
35781           • Allow  installation  and  use  of  plugins  and test plugins with
35782             rclone-webui (Chaitanya Bankanhal)
35783
35784           • Add reverse proxy pluginsHandler for serving  plugins  (Chaitanya
35785             Bankanhal)
35786
35787           • Add mount/listmounts option for listing current mounts (Chaitanya
35788             Bankanhal)
35789
35790           • Add operations/uploadfile to upload a file through rc  using  en‐
35791             coding multipart/form-data (Chaitanya Bankanhal)
35792
35793           • Add core/command to execute rclone terminal commands.  (Chaitanya
35794             Bankanhal)
35795
35796         • rclone check
35797
35798           • Add  reporting  of  filenames  for   same/missing/changed   (Nick
35799             Craig-Wood)
35800
35801           • Make   check   command   obey   --dry-run/-i/--interactive  (Nick
35802             Craig-Wood)
35803
35804           • Make check do --checkers files concurrently (Nick Craig-Wood)
35805
35806           • Retry downloads if they fail when using the --download flag (Nick
35807             Craig-Wood)
35808
35809           • Make it show stats by default (Nick Craig-Wood)
35810
35811         • rclone  obscure:  Allow obscure command to accept password on STDIN
35812           (David Ibarra)
35813
35814         • rclone config
35815
35816           • Set RCLONE_CONFIG_DIR for use in config  files  and  subprocesses
35817             (Nick Craig-Wood)
35818
35819           • Reject remote names starting with a dash.  (jtagcat)
35820
35821         • rclone  cryptcheck:  Add  reporting  of  filenames  for  same/miss‐
35822           ing/changed (Nick Craig-Wood)
35823
35824         • rclone dedupe: Make it obey the --size-only flag for duplicate  de‐
35825           tection (Nick Craig-Wood)
35826
35827         • rclone link: Add --expire and --unlink flags (Roman Kredentser)
35828
35829         • rclone  mkdir:  Warn  when  using mkdir on remotes which can't have
35830           empty directories (Nick Craig-Wood)
35831
35832         • rclone rc: Allow JSON parameters to  simplify  command  line  usage
35833           (Nick Craig-Wood)
35834
35835         • rclone serve ftp
35836
35837           • Don't   compile   on  <  go1.13  after  dependency  update  (Nick
35838             Craig-Wood)
35839
35840           • Add error message if auth proxy fails (Nick Craig-Wood)
35841
35842           • Use refactored goftp.io/server library for  binary  shrink  (Nick
35843             Craig-Wood)
35844
35845         • rclone  serve  restic: Expose interfaces so that rclone can be used
35846           as a library from within restic (Jack)
35847
35848         • rclone sync: Add --track-renames-strategy leaf (Nick Craig-Wood)
35849
35850         • rclone touch: Add ability to set nanosecond resolution times  (Nick
35851           Craig-Wood)
35852
35853         • rclone  tree:  Remove  -i  shorthand for --noindent as it conflicts
35854           with -i/--interactive (Nick Craig-Wood)
35855
35856       • Bug Fixes
35857
35858         • accounting
35859
35860           • Fix documentation for speed/speedAvg (Nick Craig-Wood)
35861
35862           • Fix elapsed time not show actual time since beginning  (Chaitanya
35863             Bankanhal)
35864
35865           • Fix deadlock in stats printing (Nick Craig-Wood)
35866
35867         • build
35868
35869           • Fix file handle leak in GitHub release tool (Garrett Squire)
35870
35871         • rclone  check:  Fix successful retries with --download counting er‐
35872           rors (Nick Craig-Wood)
35873
35874         • rclone dedupe:  Fix  logging  to  be  easier  to  understand  (Nick
35875           Craig-Wood)
35876
35877       • Mount
35878
35879         • Warn  macOS  users  that  mount  implementation  is  changing (Nick
35880           Craig-Wood)
35881
35882           • to test the new  implementation  use  rclone  cmount  instead  of
35883             rclone mount
35884
35885           • this is because the library rclone uses has dropped macOS support
35886
35887         • rc interface
35888
35889           • Add call for unmount all (Chaitanya Bankanhal)
35890
35891           • Make   mount/mount   remote  control  take  vfsOpt  option  (Nick
35892             Craig-Wood)
35893
35894           • Add mountOpt to mount/mount (Nick Craig-Wood)
35895
35896           • Add VFS and Mount options to mount/listmounts (Nick Craig-Wood)
35897
35898         • Catch panics in cgofuse initialization and turn into error messages
35899           (Nick Craig-Wood)
35900
35901         • Always supply stat information in Readdir (Nick Craig-Wood)
35902
35903         • Add  support for reading unknown length files using direct IO (Win‐
35904           dows) (Nick Craig-Wood)
35905
35906         • Fix On Windows don't add -o uid/gid=-1 if user supplies -o uid/gid.
35907           (Nick Craig-Wood)
35908
35909         • Fix macOS losing directory contents in cmount (Nick Craig-Wood)
35910
35911         • Fix volume name broken in recent refactor (Nick Craig-Wood)
35912
35913       • VFS
35914
35915         • Implement partial reads for --vfs-cache-mode full (Nick Craig-Wood)
35916
35917         • Add  --vfs-writeback  option  to delay writes back to cloud storage
35918           (Nick Craig-Wood)
35919
35920         • Add --vfs-read-ahead parameter for use with  --vfs-cache-mode  full
35921           (Nick Craig-Wood)
35922
35923         • Restart pending uploads on restart of the cache (Nick Craig-Wood)
35924
35925         • Support synchronous cache space recovery upon ENOSPC (Leo Luan)
35926
35927         • Allow  ReadAt and WriteAt to run concurrently with themselves (Nick
35928           Craig-Wood)
35929
35930         • Change modtime of file before upload to current (Rob Calistri)
35931
35932         • Recommend --vfs-cache-modes writes on backends which  can't  stream
35933           (Nick Craig-Wood)
35934
35935         • Add an optional fs parameter to vfs rc methods (Nick Craig-Wood)
35936
35937         • Fix  errors  when  using  >  260 char files in the cache in Windows
35938           (Nick Craig-Wood)
35939
35940         • Fix  renaming  of  items  while  they  are  being  uploaded   (Nick
35941           Craig-Wood)
35942
35943         • Fix  very  high  load  caused  by  slow  directory  listings  (Nick
35944           Craig-Wood)
35945
35946         • Fix renamed files not being uploaded with --vfs-cache-mode  minimal
35947           (Nick Craig-Wood)
35948
35949         • Fix  directory  locking  caused  by  slow  directory listings (Nick
35950           Craig-Wood)
35951
35952         • Fix  saving  from  chrome  without  --vfs-cache-mode  writes  (Nick
35953           Craig-Wood)
35954
35955       • Local
35956
35957         • Add --local-no-updated to provide a consistent view of changing ob‐
35958           jects (Nick Craig-Wood)
35959
35960         • Add --local-no-set-modtime option to prevent modtime changes (tyhu‐
35961           ber1)
35962
35963         • Fix  race  conditions  updating  and  reading Object metadata (Nick
35964           Craig-Wood)
35965
35966       • Cache
35967
35968         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
35969           Craig-Wood)
35970
35971         • Fix dedupe on caches wrapping drives (Nick Craig-Wood)
35972
35973       • Crypt
35974
35975         • Add --crypt-server-side-across-configs flag (Nick Craig-Wood)
35976
35977         • Make  any  created  backends  be  cached  to  fix rc problems (Nick
35978           Craig-Wood)
35979
35980       • Alias
35981
35982         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
35983           Craig-Wood)
35984
35985       • Azure Blob
35986
35987         • Don't compile on < go1.13 after dependency update (Nick Craig-Wood)
35988
35989       • B2
35990
35991         • Implement server-side copy for files > 5GB (Nick Craig-Wood)
35992
35993         • Cancel  in  progress  multipart  uploads  and copies on rclone exit
35994           (Nick Craig-Wood)
35995
35996         • Note that b2's encoding now allows   but  rclone's  hasn't  changed
35997           (Nick Craig-Wood)
35998
35999         • Fix transfers when using download_url (Nick Craig-Wood)
36000
36001       • Box
36002
36003         • Implement rclone cleanup (buengese)
36004
36005         • Cancel  in  progress  multipart  uploads  and copies on rclone exit
36006           (Nick Craig-Wood)
36007
36008         • Allow authentication with access token (David)
36009
36010       • Chunker
36011
36012         • Make any created backends  be  cached  to  fix  rc  problems  (Nick
36013           Craig-Wood)
36014
36015       • Drive
36016
36017         • Add  rclone backend drives to list shared drives (teamdrives) (Nick
36018           Craig-Wood)
36019
36020         • Implement rclone backend untrash (Nick Craig-Wood)
36021
36022         • Work around drive bug which didn't set modtime of copied docs (Nick
36023           Craig-Wood)
36024
36025         • Added  --drive-starred-only  to  only show starred files (Jay McEn‐
36026           tire)
36027
36028         • Deprecate --drive-alternate-export as it is no longer needed  (the‐
36029           mylogin)
36030
36031         • Fix   duplication   of   Google  docs  on  server-side  copy  (Nick
36032           Craig-Wood)
36033
36034         • Fix "panic: send on closed  channel"  when  recycling  dir  entries
36035           (Nick Craig-Wood)
36036
36037       • Dropbox
36038
36039         • Add  copyright  detector  info  in  limitations section in the docs
36040           (Alex Guerrero)
36041
36042         • Fix rclone link by removing expires parameter (Nick Craig-Wood)
36043
36044       • Fichier
36045
36046         • Detect Flood detected: IP Locked error  and  sleep  for  30s  (Nick
36047           Craig-Wood)
36048
36049       • FTP
36050
36051         • Add explicit TLS support (Heiko Bornholdt)
36052
36053         • Add  support  for --dump bodies and --dump auth for debugging (Nick
36054           Craig-Wood)
36055
36056         • Fix interoperation with pure-ftpd (Nick Craig-Wood)
36057
36058       • Google Cloud Storage
36059
36060         • Add support for anonymous access (Kai Lüke)
36061
36062       • Jottacloud
36063
36064         • Bring back legacy authentication for use with  whitelabel  versions
36065           (buengese)
36066
36067         • Switch  to new api root - also implement a very ugly workaround for
36068           the DirMove failures (buengese)
36069
36070       • Onedrive
36071
36072         • Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood)
36073
36074         • Implement rclone cleanup (Nick Craig-Wood)
36075
36076         • Add  --onedrive-no-versions  flag  to  remove  old  versions  (Nick
36077           Craig-Wood)
36078
36079       • Pcloud
36080
36081         • Implement rclone link for public link creation (buengese)
36082
36083       • Qingstor
36084
36085         • Cancel   in   progress  multipart  uploads  on  rclone  exit  (Nick
36086           Craig-Wood)
36087
36088       • S3
36089
36090         • Preserve metadata when doing multipart copy (Nick Craig-Wood)
36091
36092         • Cancel in progress multipart uploads  and  copies  on  rclone  exit
36093           (Nick Craig-Wood)
36094
36095         • Add rclone link for public link sharing (Roman Kredentser)
36096
36097         • Add  rclone backend restore command to restore objects from GLACIER
36098           (Nick Craig-Wood)
36099
36100         • Add rclone cleanup and rclone backend cleanup to  clean  unfinished
36101           multipart uploads (Nick Craig-Wood)
36102
36103         • Add rclone backend list-multipart-uploads to list unfinished multi‐
36104           part uploads (Nick Craig-Wood)
36105
36106         • Add --s3-max-upload-parts support (Kamil Trzciński)
36107
36108         • Add --s3-no-check-bucket for  minimising  rclone  transactions  and
36109           perms (Nick Craig-Wood)
36110
36111         • Add  --s3-profile  and  --s3-shared-credentials-file  options (Nick
36112           Craig-Wood)
36113
36114         • Use regional s3 us-east-1 endpoint (David)
36115
36116         • Add Scaleway provider (Vincent Feltz)
36117
36118         • Update IBM COS endpoints (Egor Margineanu)
36119
36120         • Reduce the default --s3-copy-cutoff to < 5GB for Backblaze S3  com‐
36121           patibility (Nick Craig-Wood)
36122
36123         • Fix detection of bucket existing (Nick Craig-Wood)
36124
36125       • SFTP
36126
36127         • Use  the absolute path instead of the relative path for listing for
36128           improved compatibility (Nick Craig-Wood)
36129
36130         • Add --sftp-subsystem and --sftp-server-command options (aus)
36131
36132       • Swift
36133
36134         • Fix dangling large objects breaking the listing (Nick Craig-Wood)
36135
36136         • Fix purge not deleting directory markers (Nick Craig-Wood)
36137
36138         • Fix update multipart object removing all of  its  own  parts  (Nick
36139           Craig-Wood)
36140
36141         • Fix missing hash from object returned from upload (Nick Craig-Wood)
36142
36143       • Tardigrade
36144
36145         • Upgrade to uplink v1.2.0 (Kaloyan Raev)
36146
36147       • Union
36148
36149         • Fix writing with the all policy (Nick Craig-Wood)
36150
36151       • WebDAV
36152
36153         • Fix directory creation with 4shared (Nick Craig-Wood)
36154
36155   v1.52.3 - 2020-08-07
36156       See            commits           (https://github.com/rclone/rclone/com
36157       pare/v1.52.2...v1.52.3)
36158
36159       • Bug Fixes
36160
36161         • docs
36162
36163           • Disable smart typography (e.g.  en-dash) in MANUAL.* and man page
36164             (Nick Craig-Wood)
36165
36166           • Update install.md to reflect minimum Go version (Evan Harris)
36167
36168           • Update install from source instructions (Nick Craig-Wood)
36169
36170           • make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud)
36171
36172         • log:  Fix  --use-json-log going to stderr not --log-file on Windows
36173           (Nick Craig-Wood)
36174
36175         • serve dlna: Fix file list on Samsung Series 6+ TVs  (Matteo  Pietro
36176           Dazzi)
36177
36178         • sync:  Fix  deadlock  with  --track-renames-strategy  modtime (Nick
36179           Craig-Wood)
36180
36181       • Cache
36182
36183         • Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
36184
36185       • Drive
36186
36187         • Stop using root_folder_id as a cache (Nick Craig-Wood)
36188
36189         • Make dangling shortcuts appear in listings (Nick Craig-Wood)
36190
36191         • Drop "Disabling ListR" messages down to debug (Nick Craig-Wood)
36192
36193         • Workaround and policy for Google Drive API (Dmitry Ustalov)
36194
36195       • FTP
36196
36197         • Add note to docs about  home  vs  root  directory  selection  (Nick
36198           Craig-Wood)
36199
36200       • Onedrive
36201
36202         • Fix reverting to Copy when Move would have worked (Nick Craig-Wood)
36203
36204         • Avoid comma rendered in URL in onedrive.md (Kevin)
36205
36206       • Pcloud
36207
36208         • Fix oauth on European region "eapi.pcloud.com" (Nick Craig-Wood)
36209
36210       • S3
36211
36212         • Fix  bucket Region auto detection when Region unset in config (Nick
36213           Craig-Wood)
36214
36215   v1.52.2 - 2020-06-24
36216       See           commits            (https://github.com/rclone/rclone/com
36217       pare/v1.52.1...v1.52.2)
36218
36219       • Bug Fixes
36220
36221         • build
36222
36223           • Fix docker release build action (Nick Craig-Wood)
36224
36225           • Fix custom timezone in Docker image (NoLooseEnds)
36226
36227         • check:  Fix misleading message which printed errors instead of dif‐
36228           ferences (Nick Craig-Wood)
36229
36230         • errors: Add WSAECONNREFUSED and more to the list of retriable  Win‐
36231           dows errors (Nick Craig-Wood)
36232
36233         • rcd: Fix incorrect prometheus metrics (Gary Kim)
36234
36235         • serve  restic:  Fix  flags  so they use environment variables (Nick
36236           Craig-Wood)
36237
36238         • serve webdav: Fix flags so they  use  environment  variables  (Nick
36239           Craig-Wood)
36240
36241         • sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
36242
36243       • Drive
36244
36245         • Fix  not  being  able to delete a directory with a trashed shortcut
36246           (Nick Craig-Wood)
36247
36248         • Fix creating a directory inside a shortcut (Nick Craig-Wood)
36249
36250         • Fix   --drive-impersonate   with   cached   root_folder_id    (Nick
36251           Craig-Wood)
36252
36253       • SFTP
36254
36255         • Fix SSH key PEM loading (Zac Rubin)
36256
36257       • Swift
36258
36259         • Speed  up  deletes  by not retrying segment container deletes (Nick
36260           Craig-Wood)
36261
36262       • Tardigrade
36263
36264         • Upgrade to uplink v1.1.1 (Caleb Case)
36265
36266       • WebDAV
36267
36268         • Fix free/used display for  rclone  about/df  for  certain  backends
36269           (Nick Craig-Wood)
36270
36271   v1.52.1 - 2020-06-10
36272       See            commits           (https://github.com/rclone/rclone/com
36273       pare/v1.52.0...v1.52.1)
36274
36275       • Bug Fixes
36276
36277         • lib/file: Fix SetSparse on Windows 7 which fixes downloads of files
36278           > 250MB (Nick Craig-Wood)
36279
36280         • build
36281
36282           • Update  go.mod  to  go1.14  to  enable  -mod=vendor  build  (Nick
36283             Craig-Wood)
36284
36285           • Remove quicktest from Dockerfile (Nick Craig-Wood)
36286
36287           • Build Docker images with GitHub actions (Matteo Pietro Dazzi)
36288
36289           • Update Docker build workflows (Nick Craig-Wood)
36290
36291           • Set user_allow_other in /etc/fuse.conf in the Docker image  (Nick
36292             Craig-Wood)
36293
36294           • Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
36295
36296         • docs
36297
36298           • Add  link  to  source  and  modified time to footer of every page
36299             (Nick Craig-Wood)
36300
36301           • Remove manually  set  dates  and  use  git  dates  instead  (Nick
36302             Craig-Wood)
36303
36304           • Minor  tense, punctuation, brevity and positivity changes for the
36305             home page (edwardxml)
36306
36307           • Remove leading slash in page reference  in  footer  when  present
36308             (Nick Craig-Wood)
36309
36310           • Note  commands  which  need  obscured  input  in  the  docs (Nick
36311             Craig-Wood)
36312
36313           • obscure: Write more help as we are referencing it elsewhere (Nick
36314             Craig-Wood)
36315
36316       • VFS
36317
36318         • Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick
36319           Craig-Wood)
36320
36321       • Drive
36322
36323         • Fix missing items when listing  using  --fast-list  /  ListR  (Nick
36324           Craig-Wood)
36325
36326       • Putio
36327
36328         • Fix panic on Object.Open (Cenk Alti)
36329
36330       • S3
36331
36332         • Fix  upload  of single files into buckets without create permission
36333           (Nick Craig-Wood)
36334
36335         • Fix --header-upload (Nick Craig-Wood)
36336
36337       • Tardigrade
36338
36339         • Fix listing bug by upgrading to v1.0.7
36340
36341         • Set UserAgent to rclone (Caleb Case)
36342
36343   v1.52.0 - 2020-05-27
36344       Special thanks to Martin Michlmayr for proof reading and correcting all
36345       the docs and Edward Barker for helping re-write the front page.
36346
36347       See            commits           (https://github.com/rclone/rclone/com
36348       pare/v1.51.0...v1.52.0)
36349
36350       • New backends
36351
36352         • Tardigrade (https://rclone.org/tardigrade/) backend  for  use  with
36353           storj.io (Caleb Case)
36354
36355         • Union   (https://rclone.org/union/)   re-write   to  have  multiple
36356           writable remotes (Max Sum)
36357
36358         • Seafile (/seafile) for Seafile server (Fred @creativeprojects)
36359
36360       • New commands
36361
36362         • backend: command for backend specific commands (see backends) (Nick
36363           Craig-Wood)
36364
36365         • cachestats:  Deprecate  in  favour  of  rclone backend stats cache:
36366           (Nick Craig-Wood)
36367
36368         • dbhashsum: Deprecate in favour of rclone hashsum DropboxHash  (Nick
36369           Craig-Wood)
36370
36371       • New Features
36372
36373         • Add  --header-download  and  --header-upload flags for setting HTTP
36374           headers when uploading/downloading (Tim Gallant)
36375
36376         • Add --header flag to add HTTP headers  to  every  HTTP  transaction
36377           (Nick Craig-Wood)
36378
36379         • Add  --check-first  to  do  all  checking before starting transfers
36380           (Nick Craig-Wood)
36381
36382         • Add --track-renames-strategy for configurable matching criteria for
36383           --track-renames (Bernd Schoolmann)
36384
36385         • Add  --cutoff-mode  hard,soft,cautious  (Shing  Kit Chan & Franklyn
36386           Tackitt)
36387
36388         • Filter flags (e.g.  --files-from -) can read from  stdin  (fishbul‐
36389           let)
36390
36391         • Add --error-on-no-transfer option (Jon Fautley)
36392
36393         • Implement  --order-by xxx,mixed for copying some small and some big
36394           files (Nick Craig-Wood)
36395
36396         • Allow --max-backlog to be negative meaning  as  large  as  possible
36397           (Nick Craig-Wood)
36398
36399         • Added --no-unicode-normalization flag to allow Unicode filenames to
36400           remain unique (Ben Zenker)
36401
36402         • Allow --min-age/--max-age to take a date  as  well  as  a  duration
36403           (Nick Craig-Wood)
36404
36405         • Add   rename  statistics  for  file  and  directory  renames  (Nick
36406           Craig-Wood)
36407
36408         • Add statistics output to JSON log (reddi)
36409
36410         • Make stats be printed on non-zero exit code (Nick Craig-Wood)
36411
36412         • When running  --password-command  allow  use  of  stdin  (Sébastien
36413           Gross)
36414
36415         • Stop empty strings being a valid remote path (Nick Craig-Wood)
36416
36417         • accounting:   support   WriterTo  for  less  memory  copying  (Nick
36418           Craig-Wood)
36419
36420         • build
36421
36422           • Update to use go1.14 for the build (Nick Craig-Wood)
36423
36424           • Add -trimpath to release build  for  reproduceable  builds  (Nick
36425             Craig-Wood)
36426
36427           • Remove GOOS and GOARCH from Dockerfile (Brandon Philips)
36428
36429         • config
36430
36431           • Fsync  the  config file after writing to save more reliably (Nick
36432             Craig-Wood)
36433
36434           • Add --obscure and  --no-obscure  flags  to  config  create/update
36435             (Nick Craig-Wood)
36436
36437           • Make config show take remote: as well as remote (Nick Craig-Wood)
36438
36439         • copyurl: Add --no-clobber flag (Denis)
36440
36441         • delete: Added --rmdirs flag to delete directories as well (Kush)
36442
36443         • filter: Added --files-from-raw flag (Ankur Gupta)
36444
36445         • genautocomplete: Add support for fish shell (Matan Rosenberg)
36446
36447         • log: Add support for syslog LOCAL facilities (Patryk Jakuszew)
36448
36449         • lsjson:  Add  --hash-type  parameter  and use it in lsf to speed up
36450           hashing (Nick Craig-Wood)
36451
36452         • rc
36453
36454           • Add  -o/--opt  and  -a/--arg  for  more  structured  input  (Nick
36455             Craig-Wood)
36456
36457           • Implement  backend/command  for running backend specific commands
36458             remotely (Nick Craig-Wood)
36459
36460           • Add mount/mount command for starting rclone  mount  via  the  API
36461             (Chaitanya)
36462
36463         • rcd: Add Prometheus metrics support (Gary Kim)
36464
36465         • serve http
36466
36467           • Added a --template flag for user defined markup (calistri)
36468
36469           • Add   Last-Modified   headers  to  files  and  directories  (Nick
36470             Craig-Wood)
36471
36472         • serve sftp: Add support for multiple host keys by  repeating  --key
36473           flag (Maxime Suret)
36474
36475         • touch:  Add  --localtime flag to make --timestamp localtime not UTC
36476           (Nick Craig-Wood)
36477
36478       • Bug Fixes
36479
36480         • accounting
36481
36482           • Restore "Max number of stats groups  reached"  log  line  (Michał
36483             Matczuk)
36484
36485           • Correct   exitcode  on  Transfer  Limit  Exceeded  flag.   (Anuar
36486             Serdaliyev)
36487
36488           • Reset bytes read during copy retry (Ankur Gupta)
36489
36490           • Fix race clearing stats (Nick Craig-Wood)
36491
36492         • copy: Only create empty directories when they don't  exist  on  the
36493           remote (Ishuah Kariuki)
36494
36495         • dedupe:  Stop  dedupe  deleting  files  with  identical  IDs  (Nick
36496           Craig-Wood)
36497
36498         • oauth
36499
36500           • Use custom http client so that --no-check-certificate is  honored
36501             by oauth token fetch (Mark Spieth)
36502
36503           • Replace deprecated oauth2.NoContext (Lars Lehtonen)
36504
36505         • operations
36506
36507           • Fix  setting  the timestamp on Windows for multithread copy (Nick
36508             Craig-Wood)
36509
36510           • Make rcat obey --ignore-checksum (Nick Craig-Wood)
36511
36512           • Make --max-transfer more accurate (Nick Craig-Wood)
36513
36514         • rc
36515
36516           • Fix dropped error (Lars Lehtonen)
36517
36518           • Fix misplaced http server config (Xiaoxing Ye)
36519
36520           • Disable duplicate log (ElonH)
36521
36522         • serve dlna
36523
36524           • Cds: don't specify childCount at all when unknown (Dan Walters)
36525
36526           • Cds: use modification time as date in dlna metadata (Dan Walters)
36527
36528         • serve restic: Fix tests  after  restic  project  removed  vendoring
36529           (Nick Craig-Wood)
36530
36531         • sync
36532
36533           • Fix incorrect "nothing to transfer" message using --delete-before
36534             (Nick Craig-Wood)
36535
36536           • Only create empty directories when they don't exist on the remote
36537             (Ishuah Kariuki)
36538
36539       • Mount
36540
36541         • Add   --async-read   flag   to  disable  asynchronous  reads  (Nick
36542           Craig-Wood)
36543
36544         • Ignore --allow-root flag with a warning as it has been removed  up‐
36545           stream (Nick Craig-Wood)
36546
36547         • Warn  if  --allow-non-empty  used on Windows and clarify docs (Nick
36548           Craig-Wood)
36549
36550         • Constrain to go1.13 or above otherwise bazil.org/fuse fails to com‐
36551           pile (Nick Craig-Wood)
36552
36553         • Fix fail because of too long volume name (evileye)
36554
36555         • Report 1PB free for unknown disk sizes (Nick Craig-Wood)
36556
36557         • Map more rclone errors into file systems errors (Nick Craig-Wood)
36558
36559         • Fix disappearing cwd problem (Nick Craig-Wood)
36560
36561         • Use ReaddirPlus on Windows to improve directory listing performance
36562           (Nick Craig-Wood)
36563
36564         • Send a hint as to whether the filesystem is case insensitive or not
36565           (Nick Craig-Wood)
36566
36567         • Add rc command mount/types (Nick Craig-Wood)
36568
36569         • Change maximum leaf name length to 1024 bytes (Nick Craig-Wood)
36570
36571       • VFS
36572
36573         • Add  --vfs-read-wait  and  --vfs-write-wait  flags  to control time
36574           waiting for a sequential read/write (Nick Craig-Wood)
36575
36576         • Change default --vfs-read-wait to 20ms (it was 5ms and not  config‐
36577           urable) (Nick Craig-Wood)
36578
36579         • Make df output more consistent on a rclone mount.  (Yves G)
36580
36581         • Report 1PB free for unknown disk sizes (Nick Craig-Wood)
36582
36583         • Fix  race  condition  caused  by unlocked reading of Dir.path (Nick
36584           Craig-Wood)
36585
36586         • Make File lock and Dir lock not overlap  to  avoid  deadlock  (Nick
36587           Craig-Wood)
36588
36589         • Implement lock ordering between File and Dir to eliminate deadlocks
36590           (Nick Craig-Wood)
36591
36592         • Factor the vfs cache into its own package (Nick Craig-Wood)
36593
36594         • Pin the Fs in use in the Fs cache (Nick Craig-Wood)
36595
36596         • Add SetSys() methods to Node to allow caching stuff on a node (Nick
36597           Craig-Wood)
36598
36599         • Ignore  file  not  found  errors  from  Hash  in Read.Release (Nick
36600           Craig-Wood)
36601
36602         • Fix hang in read wait code (Nick Craig-Wood)
36603
36604       • Local
36605
36606         • Speed up multi thread downloads by using sparse  files  on  Windows
36607           (Nick Craig-Wood)
36608
36609         • Implement  --local-no-sparse  flag for disabling sparse files (Nick
36610           Craig-Wood)
36611
36612         • Implement  rclone  backend  noop   for   testing   purposes   (Nick
36613           Craig-Wood)
36614
36615         • Fix "file not found" errors on post transfer Hash calculation (Nick
36616           Craig-Wood)
36617
36618       • Cache
36619
36620         • Implement rclone backend stats command (Nick Craig-Wood)
36621
36622         • Fix Server Side Copy with Temp Upload (Brandon McNama)
36623
36624         • Remove Unused Functions (Lars Lehtonen)
36625
36626         • Disable race tests until bbolt is fixed (Nick Craig-Wood)
36627
36628         • Move methods used for testing into test file (greatroar)
36629
36630         • Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood)
36631
36632         • Use proper import path go.etcd.io/bbolt (Robert-André Mauchin)
36633
36634       • Crypt
36635
36636         • Calculate hashes for uploads from local disk (Nick Craig-Wood)
36637
36638           • This allows crypted Jottacloud uploads without using local disk
36639
36640           • This means crypted s3/b2 uploads will now have hashes
36641
36642         • Added rclone backend decode/encode commands to replicate  function‐
36643           ality of cryptdecode (Anagh Kumar Baranwal)
36644
36645         • Get  rid  of  the unused Cipher interface as it obfuscated the code
36646           (Nick Craig-Wood)
36647
36648       • Azure Blob
36649
36650         • Implement streaming of unknown sized files so rcat is now supported
36651           (Nick Craig-Wood)
36652
36653         • Implement memory pooling to control memory use (Nick Craig-Wood)
36654
36655         • Add --azureblob-disable-checksum flag (Nick Craig-Wood)
36656
36657         • Retry InvalidBlobOrBlock error as it may indicate block concurrency
36658           problems (Nick Craig-Wood)
36659
36660         • Remove unused Object.parseTimeString() (Lars Lehtonen)
36661
36662         • Fix  permission  error  on  SAS  URL  limited  to  container  (Nick
36663           Craig-Wood)
36664
36665       • B2
36666
36667         • Add support for --header-upload and --header-download (Tim Gallant)
36668
36669         • Ignore directory markers at the root also (Nick Craig-Wood)
36670
36671         • Force the case of the SHA1 to lowercase (Nick Craig-Wood)
36672
36673         • Remove unused largeUpload.clearUploadURL() (Lars Lehtonen)
36674
36675       • Box
36676
36677         • Add support for --header-upload and --header-download (Tim Gallant)
36678
36679         • Implement About to read size used (Nick Craig-Wood)
36680
36681         • Add token renew function for jwt auth (David Bramwell)
36682
36683         • Added  support  for  interchangeable  root  folder  for Box backend
36684           (Sunil Patra)
36685
36686         • Remove unnecessary iat from jws claims (David)
36687
36688       • Drive
36689
36690         • Follow shortcuts by default, skip with --drive-skip-shortcuts (Nick
36691           Craig-Wood)
36692
36693         • Implement  rclone  backend  shortcut command for creating shortcuts
36694           (Nick Craig-Wood)
36695
36696         • Added rclone backend command  to  change  service_account_file  and
36697           chunk_size (Anagh Kumar Baranwal)
36698
36699         • Fix missing files when using --fast-list and --drive-shared-with-me
36700           (Nick Craig-Wood)
36701
36702         • Fix  duplicate  items  when  using   --drive-shared-with-me   (Nick
36703           Craig-Wood)
36704
36705         • Extend --drive-stop-on-upload-limit to respond to teamDriveFileLim‐
36706           itExceeded.  (harry)
36707
36708         • Don't delete files with multiple parents to avoid data  loss  (Nick
36709           Craig-Wood)
36710
36711         • Server  side  copy  docs  use  default  description  if empty (Nick
36712           Craig-Wood)
36713
36714       • Dropbox
36715
36716         • Make error insufficient space to be fatal (harry)
36717
36718         • Add info about required redirect url (Elan Ruusamäe)
36719
36720       • Fichier
36721
36722         • Add support for --header-upload and --header-download (Tim Gallant)
36723
36724         • Implement  custom  pacer  to  deal  with  the  new  rate   limiting
36725           (buengese)
36726
36727       • FTP
36728
36729         • Fix lockup when using concurrency limit on failed connections (Nick
36730           Craig-Wood)
36731
36732         • Fix lockup on failed upload  when  using  concurrency  limit  (Nick
36733           Craig-Wood)
36734
36735         • Fix  lockup  on  Close  failures when using concurrency limit (Nick
36736           Craig-Wood)
36737
36738         • Work around pureftp sending spurious 150 messages (Nick Craig-Wood)
36739
36740       • Google Cloud Storage
36741
36742         • Add  support  for  --header-upload  and   --header-download   (Nick
36743           Craig-Wood)
36744
36745         • Add ARCHIVE storage class to help (Adam Stroud)
36746
36747         • Ignore directory markers at the root (Nick Craig-Wood)
36748
36749       • Googlephotos
36750
36751         • Make the start year configurable (Daven)
36752
36753         • Add support for --header-upload and --header-download (Tim Gallant)
36754
36755         • Create feature/favorites directory (Brandon Philips)
36756
36757         • Fix "concurrent map write" error (Nick Craig-Wood)
36758
36759         • Don't put an image in error message (Nick Craig-Wood)
36760
36761       • HTTP
36762
36763         • Improved  directory  listing  with  new template from Caddy project
36764           (calisro)
36765
36766       • Jottacloud
36767
36768         • Implement --jottacloud-trashed-only (buengese)
36769
36770         • Add support for --header-upload and --header-download (Tim Gallant)
36771
36772         • Use  RawURLEncoding  when  decoding  base64  encoded  login   token
36773           (buengese)
36774
36775         • Implement cleanup (buengese)
36776
36777         • Update  docs  regarding cleanup, removed remains from old auth, and
36778           added warning about special mountpoints.  (albertony)
36779
36780       • Mailru
36781
36782         • Describe 2FA requirements (valery1707)
36783
36784       • Onedrive
36785
36786         • Implement --onedrive-server-side-across-configs (Nick Craig-Wood)
36787
36788         • Add support for --header-upload and --header-download (Tim Gallant)
36789
36790         • Fix occasional 416 errors on multipart uploads (Nick Craig-Wood)
36791
36792         • Added maximum chunk size limit warning in the docs (Harry)
36793
36794         • Fix missing drive on config (Nick Craig-Wood)
36795
36796         • Make error quotaLimitReached to be fatal (harry)
36797
36798       • Opendrive
36799
36800         • Add support for --header-upload and --header-download (Tim Gallant)
36801
36802       • Pcloud
36803
36804         • Added support for interchangeable root folder  for  pCloud  backend
36805           (Sunil Patra)
36806
36807         • Add support for --header-upload and --header-download (Tim Gallant)
36808
36809         • Fix  initial  config  "Auth  state  doesn't  match"  message  (Nick
36810           Craig-Wood)
36811
36812       • Premiumizeme
36813
36814         • Add support for --header-upload and --header-download (Tim Gallant)
36815
36816         • Prune unused functions (Lars Lehtonen)
36817
36818       • Putio
36819
36820         • Add  support  for  --header-upload  and   --header-download   (Nick
36821           Craig-Wood)
36822
36823         • Make downloading files use the rclone http Client (Nick Craig-Wood)
36824
36825         • Fix   parsing   of  remotes  with  leading  and  trailing  /  (Nick
36826           Craig-Wood)
36827
36828       • Qingstor
36829
36830         • Make rclone cleanup remove pending multipart uploads older than 24h
36831           (Nick Craig-Wood)
36832
36833         • Try harder to cancel failed multipart uploads (Nick Craig-Wood)
36834
36835         • Prune multiUploader.list() (Lars Lehtonen)
36836
36837         • Lint fix (Lars Lehtonen)
36838
36839       • S3
36840
36841         • Add support for --header-upload and --header-download (Tim Gallant)
36842
36843         • Use memory pool for buffer allocations (Maciej Zimnoch)
36844
36845         • Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson)
36846
36847         • Fail fast multipart upload (Michał Matczuk)
36848
36849         • Report   errors   on   bucket   creation  (mkdir)  correctly  (Nick
36850           Craig-Wood)
36851
36852         • Specify  that  Minio  supports  URL  encoding  in  listings   (Nick
36853           Craig-Wood)
36854
36855         • Added 500 as retryErrorCode (Michał Matczuk)
36856
36857         • Use  --low-level-retries  as  the number of SDK retries (Aleksandar
36858           Janković)
36859
36860         • Fix multipart abort context (Aleksandar Jankovic)
36861
36862         • Replace deprecated session.New()  with  session.NewSession()  (Lars
36863           Lehtonen)
36864
36865         • Use  the  provided size parameter when allocating a new memory pool
36866           (Joachim Brandon LeBlanc)
36867
36868         • Use rclone's low level retries instead of AWS SDK  to  fix  listing
36869           retries (Nick Craig-Wood)
36870
36871         • Ignore directory markers at the root also (Nick Craig-Wood)
36872
36873         • Use single memory pool (Michał Matczuk)
36874
36875         • Do not resize buf on put to memBuf (Michał Matczuk)
36876
36877         • Improve docs for --s3-disable-checksum (Nick Craig-Wood)
36878
36879         • Don't  leak  memory  or  tokens  in edge cases for multipart upload
36880           (Nick Craig-Wood)
36881
36882       • Seafile
36883
36884         • Implement 2FA (Fred)
36885
36886       • SFTP
36887
36888         • Added --sftp-pem-key to support inline key files (calisro)
36889
36890         • Fix post transfer copies failing with 0 size  when  using  set_mod‐
36891           time=false (Nick Craig-Wood)
36892
36893       • Sharefile
36894
36895         • Add support for --header-upload and --header-download (Tim Gallant)
36896
36897       • Sugarsync
36898
36899         • Add support for --header-upload and --header-download (Tim Gallant)
36900
36901       • Swift
36902
36903         • Add   support   for  --header-upload  and  --header-download  (Nick
36904           Craig-Wood)
36905
36906         • Fix cosmetic issue in error message (Martin Michlmayr)
36907
36908       • Union
36909
36910         • Implement multiple writable remotes (Max Sum)
36911
36912         • Fix server-side copy (Max Sum)
36913
36914         • Implement ListR (Max Sum)
36915
36916         • Enable ListR when upstreams contain local (Max Sum)
36917
36918       • WebDAV
36919
36920         • Add support for --header-upload and --header-download (Tim Gallant)
36921
36922         • Fix X-OC-Mtime header for Transip compatibility (Nick Craig-Wood)
36923
36924         • Report full and consistent usage with about (Yves G)
36925
36926       • Yandex
36927
36928         • Add support for --header-upload and --header-download (Tim Gallant)
36929
36930   v1.51.0 - 2020-02-01
36931       • New backends
36932
36933         • Memory (https://rclone.org/memory/) (Nick Craig-Wood)
36934
36935         • Sugarsync (https://rclone.org/sugarsync/) (Nick Craig-Wood)
36936
36937       • New Features
36938
36939         • Adjust all backends  to  have  --backend-encoding  parameter  (Nick
36940           Craig-Wood)
36941
36942           • this  enables  the encoding for special characters to be adjusted
36943             or disabled
36944
36945         • Add --max-duration flag to control the maximum duration of a trans‐
36946           fer session (boosh)
36947
36948         • Add --expect-continue-timeout flag, default 1s (Nick Craig-Wood)
36949
36950         • Add  --no-check-dest  flag for copying without testing the destina‐
36951           tion (Nick Craig-Wood)
36952
36953         • Implement --order-by flag to order transfers (Nick Craig-Wood)
36954
36955         • accounting
36956
36957           • Don't show  entries  in  both  transferring  and  checking  (Nick
36958             Craig-Wood)
36959
36960           • Add option to delete stats (Aleksandar Jankovic)
36961
36962         • build
36963
36964           • Compress the test builds with gzip (Nick Craig-Wood)
36965
36966           • Implement  a  framework  for  starting  test servers during tests
36967             (Nick Craig-Wood)
36968
36969         • cmd: Always print elapsed time to tenth place seconds  in  progress
36970           (Gary Kim)
36971
36972         • config
36973
36974           • Add  --password-command  to  allow dynamic config password (Damon
36975             Permezel)
36976
36977           • Give config questions default values (Nick Craig-Wood)
36978
36979           • Check a remote exists when creating a new one (Nick Craig-Wood)
36980
36981         • copyurl: Add --stdout flag to write to stdout (Nick Craig-Wood)
36982
36983         • dedupe: Implement keep smallest too (Nick Craig-Wood)
36984
36985         • hashsum: Add flag --base64 flag (landall)
36986
36987         • lsf: Speed up on s3/swift/etc by not reading  mimetype  by  default
36988           (Nick Craig-Wood)
36989
36990         • lsjson: Add --no-mimetype flag (Nick Craig-Wood)
36991
36992         • rc:  Add  methods  to  turn  on  blocking and mutex profiling (Nick
36993           Craig-Wood)
36994
36995         • rcd
36996
36997           • Adding group parameter to stats (Chaitanya)
36998
36999           • Move webgui apart; option to disable browser (Xiaoxing Ye)
37000
37001         • serve sftp: Add support for public key with auth proxy (Paul  Tins‐
37002           ley)
37003
37004         • stats: Show deletes in stats and hide zero stats (anuar45)
37005
37006       • Bug Fixes
37007
37008         • accounting
37009
37010           • Fix error counter counting multiple times (Ankur Gupta)
37011
37012           • Fix error count shown as checks (Cnly)
37013
37014           • Clear finished transfer in stats-reset (Maciej Zimnoch)
37015
37016           • Added  StatsInfo  locking  in  statsGroups  sum  function (Michał
37017             Matczuk)
37018
37019         • asyncreader: Fix EOF error (buengese)
37020
37021         • check: Fix --one-way recursing more directories than  it  needs  to
37022           (Nick Craig-Wood)
37023
37024         • chunkedreader:  Disable  hash  calculation  for first segment (Nick
37025           Craig-Wood)
37026
37027         • config
37028
37029           • Do not open browser on headless on drive/gcs/google  photos  (Xi‐
37030             aoxing Ye)
37031
37032           • SetValueAndSave ignore error if config section does not exist yet
37033             (buengese)
37034
37035         • cmd: Fix completion with an encrypted config (Danil Semelenov)
37036
37037         • dbhashsum:  Stop  it  returning  UNSUPPORTED   on   dropbox   (Nick
37038           Craig-Wood)
37039
37040         • dedupe: Add missing modes to help string (Nick Craig-Wood)
37041
37042         • operations
37043
37044           • Fix  dedupe  continuing  on errors like insufficientFilePersimmon
37045             (SezalAgrawal)
37046
37047           • Clear accounting before low level retry (Maciej Zimnoch)
37048
37049           • Write debug message when hashes could not be checked (Ole Schütt)
37050
37051           • Move interface assertion to  tests  to  remove  pflag  dependency
37052             (Nick Craig-Wood)
37053
37054           • Make   NewOverrideObjectInfo   public   and   factor  uses  (Nick
37055             Craig-Wood)
37056
37057         • proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
37058
37059         • vendor
37060
37061           • Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
37062
37063           • Update github.com/t3rm1n4l/go-mega to fix  mega  "illegal  base64
37064             data at input byte 22" (Nick Craig-Wood)
37065
37066           • Update termbox-go to fix ncdu command on FreeBSD (Kuang-che Wu)
37067
37068           • Update t3rm1n4l/go-mega - fixes mega: couldn't login: crypto/aes:
37069             invalid key size 0 (Nick Craig-Wood)
37070
37071       • Mount
37072
37073         • Enable async reads for a 20% speedup (Nick Craig-Wood)
37074
37075         • Replace use of WriteAt with Write for  cache  mode  >=  writes  and
37076           O_APPEND (Brett Dutro)
37077
37078         • Make sure we call unmount when exiting (Nick Craig-Wood)
37079
37080         • Don't  build  on  go1.10  as bazil/fuse no longer supports it (Nick
37081           Craig-Wood)
37082
37083         • When setting dates discard out of range dates (Nick Craig-Wood)
37084
37085       • VFS
37086
37087         • Add  a  newly  created  file  straight  into  the  directory  (Nick
37088           Craig-Wood)
37089
37090         • Only calculate one hash for reads for a speedup (Nick Craig-Wood)
37091
37092         • Make  ReadAt  for  non cached files work better with non-sequential
37093           reads (Nick Craig-Wood)
37094
37095         • Fix edge cases when reading ModTime from file (Nick Craig-Wood)
37096
37097         • Make sure existing files opened for write show correct  size  (Nick
37098           Craig-Wood)
37099
37100         • Don't  cache  the  path  in  RW  file objects to fix renaming (Nick
37101           Craig-Wood)
37102
37103         • Fix rename of open files when using the VFS cache (Nick Craig-Wood)
37104
37105         • When renaming files in the cache, rename the cache item  in  memory
37106           too (Nick Craig-Wood)
37107
37108         • Fix  open file renaming on drive when using --vfs-cache-mode writes
37109           (Nick Craig-Wood)
37110
37111         • Fix incorrect modtime for  mv  into  mount  with  --vfs-cache-modes
37112           writes (Nick Craig-Wood)
37113
37114         • On  rename,  rename  in  cache  too if the file exists (Anagh Kumar
37115           Baranwal)
37116
37117       • Local
37118
37119         • Make source file being updated  errors  be  NoLowLevelRetry  errors
37120           (Nick Craig-Wood)
37121
37122         • Fix update of hidden files on Windows (Nick Craig-Wood)
37123
37124       • Cache
37125
37126         • Follow    move    of   upstream   library   github.com/coreos/bbolt
37127           github.com/etcd-io/bbolt (Nick Craig-Wood)
37128
37129         • Fix fatal error: concurrent map writes (Nick Craig-Wood)
37130
37131       • Crypt
37132
37133         • Reorder the filename encryption options (Thomas Eales)
37134
37135         • Correctly handle trailing dot (buengese)
37136
37137       • Chunker
37138
37139         • Reduce length of temporary suffix (Ivan Andreev)
37140
37141       • Drive
37142
37143         • Add --drive-stop-on-upload-limit flag to  stop  syncs  when  upload
37144           limit reached (Nick Craig-Wood)
37145
37146         • Add  --drive-use-shared-date to use date file was shared instead of
37147           modified date (Garry McNulty)
37148
37149         • Make sure invalid auth for teamdrives always reports an error (Nick
37150           Craig-Wood)
37151
37152         • Fix --fast-list when using appDataFolder (Nick Craig-Wood)
37153
37154         • Use  multipart resumable uploads for streaming and uploads in mount
37155           (Nick Craig-Wood)
37156
37157         • Log an ERROR if an incomplete search is returned (Nick Craig-Wood)
37158
37159         • Hide dangerous config from the configurator (Nick Craig-Wood)
37160
37161       • Dropbox
37162
37163         • Treat insufficient_space  errors  as  non  retriable  errors  (Nick
37164           Craig-Wood)
37165
37166       • Jottacloud
37167
37168         • Use new auth method used by official client (buengese)
37169
37170         • Add URL to generate Login Token to config wizard (Nick Craig-Wood)
37171
37172         • Add support whitelabel versions (buengese)
37173
37174       • Koofr
37175
37176         • Use rclone HTTP client.  (jaKa)
37177
37178       • Onedrive
37179
37180         • Add Sites.Read.All permission (Benjamin Richter)
37181
37182         • Add support "Retry-After" header (Motonori IWAMURO)
37183
37184       • Opendrive
37185
37186         • Implement --opendrive-chunk-size (Nick Craig-Wood)
37187
37188       • S3
37189
37190         • Re-implement   multipart   upload   to   fix  memory  issues  (Nick
37191           Craig-Wood)
37192
37193         • Add --s3-copy-cutoff for size to switch  to  multipart  copy  (Nick
37194           Craig-Wood)
37195
37196         • Add new region Asia Pacific (Hong Kong) (Outvi V)
37197
37198         • Reduce  memory  usage streaming files by reducing max stream upload
37199           size (Nick Craig-Wood)
37200
37201         • Add --s3-list-chunk option for bucket listing (Thomas Kriechbaumer)
37202
37203         • Force path style bucket access to off  for  AWS  deprecation  (Nick
37204           Craig-Wood)
37205
37206         • Use AWS web identity role provider if available (Tennix)
37207
37208         • Add StackPath Object Storage Support (Dave Koston)
37209
37210         • Fix ExpiryWindow value (Aleksandar Jankovic)
37211
37212         • Fix DisableChecksum condition (Aleksandar Janković)
37213
37214         • Fix URL decoding of NextMarker (Nick Craig-Wood)
37215
37216       • SFTP
37217
37218         • Add  --sftp-skip-links to skip symlinks and non regular files (Nick
37219           Craig-Wood)
37220
37221         • Retry Creation of Connection (Sebastian Brandt)
37222
37223         • Fix "failed to parse private key file: ssh: not an  encrypted  key"
37224           error (Nick Craig-Wood)
37225
37226         • Open  files  for  update  write  only to fix AWS SFTP interop (Nick
37227           Craig-Wood)
37228
37229       • Swift
37230
37231         • Reserve segments of dynamic large object  when  delete  objects  in
37232           container what was enabled versioning.  (Nguyễn Hữu Luân)
37233
37234         • Fix parsing of X-Object-Manifest (Nick Craig-Wood)
37235
37236         • Update OVH API endpoint (unbelauscht)
37237
37238       • WebDAV
37239
37240         • Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
37241
37242         • Fix  case  of  "Bearer"  in Authorization: header to agree with RFC
37243           (Nick Craig-Wood)
37244
37245         • Add Referer header to fix problems with WAFs (Nick Craig-Wood)
37246
37247   v1.50.2 - 2019-11-19
37248       • Bug Fixes
37249
37250         • accounting: Fix memory leak on retries operations (Nick Craig-Wood)
37251
37252       • Drive
37253
37254         • Fix listing of the root  directory  with  drive.files  scope  (Nick
37255           Craig-Wood)
37256
37257         • Fix    --drive-root-folder-id   with   team/shared   drives   (Nick
37258           Craig-Wood)
37259
37260   v1.50.1 - 2019-11-02
37261       • Bug Fixes
37262
37263         • hash: Fix accidentally  changed  hash  names  for  DropboxHash  and
37264           CRC-32 (Nick Craig-Wood)
37265
37266         • fshttp:  Fix  error reporting on tpslimit token bucket errors (Nick
37267           Craig-Wood)
37268
37269         • fshttp: Don't print token bucket errors on context cancelled  (Nick
37270           Craig-Wood)
37271
37272       • Local
37273
37274         • Fix listings of .  on Windows (Nick Craig-Wood)
37275
37276       • Onedrive
37277
37278         • Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
37279
37280   v1.50.0 - 2019-10-26
37281       • New backends
37282
37283         • Citrix Sharefile (https://rclone.org/sharefile/) (Nick Craig-Wood)
37284
37285         • Chunker (https://rclone.org/chunker/) - an overlay backend to split
37286           files into smaller parts (Ivan Andreev)
37287
37288         • Mail.ru Cloud (https://rclone.org/mailru/) (Ivan Andreev)
37289
37290       • New Features
37291
37292         • encodings (Fabian Möller & Nick Craig-Wood)
37293
37294           • All backends now use file name encoding to ensure any  file  name
37295             can be written to any backend.
37296
37297           • See  the  restricted  file  name  docs  (https://rclone.org/over
37298             view/#restricted-filenames) for more info and the  local  backend
37299             docs (/local/#filenames).
37300
37301           • Some file names may look different in rclone if you are using any
37302             control  characters  in  names  or  unicode   FULLWIDTH   symbols
37303             (https://en.wikipedia.org/wiki/Halfwidth_and_Full
37304             width_Forms_(Unicode_block)).
37305
37306         • build
37307
37308           • Update to use go1.13 for the build (Nick Craig-Wood)
37309
37310           • Drop support for go1.9 (Nick Craig-Wood)
37311
37312           • Build rclone with GitHub actions (Nick Craig-Wood)
37313
37314           • Convert python scripts to python3 (Nick Craig-Wood)
37315
37316           • Swap Azure/go-ansiterm for mattn/go-colorable (Nick Craig-Wood)
37317
37318           • Dockerfile fixes (Matei David)
37319
37320           • Add  plugin  support  (https://github.com/rclone/rclone/blob/mas
37321             ter/CONTRIBUTING.md#writing-a-plugin)  for  backends and commands
37322             (Richard Patel)
37323
37324         • config
37325
37326           • Use alternating Red/Green in config to make  more  obvious  (Nick
37327             Craig-Wood)
37328
37329         • contrib
37330
37331           • Add sample DLNA server Docker Compose manifest.  (pataquets)
37332
37333           • Add sample WebDAV server Docker Compose manifest.  (pataquets)
37334
37335         • copyurl
37336
37337           • Add --auto-filename flag for using file name from URL in destina‐
37338             tion path (Denis)
37339
37340         • serve dlna:
37341
37342           • Many compatibility improvements (Dan Walters)
37343
37344           • Support for external srt subtitles (Dan Walters)
37345
37346         • rc
37347
37348           • Added command core/quit (Saksham Khanna)
37349
37350       • Bug Fixes
37351
37352         • sync
37353
37354           • Make --update/-u not transfer files that  haven't  changed  (Nick
37355             Craig-Wood)
37356
37357           • Free  objects  after  they  come out of the transfer pipe to save
37358             memory (Nick Craig-Wood)
37359
37360           • Fix --files-from without --no-traverse  doing  a  recursive  scan
37361             (Nick Craig-Wood)
37362
37363         • operations
37364
37365           • Fix accounting for server-side copies (Nick Craig-Wood)
37366
37367           • Display 'All duplicates removed' only if dedupe successful (Sezal
37368             Agrawal)
37369
37370           • Display 'Deleted X extra copies' only if dedupe successful (Sezal
37371             Agrawal)
37372
37373         • accounting
37374
37375           • Only  allow  up to 100 completed transfers in the accounting list
37376             to save memory (Nick Craig-Wood)
37377
37378           • Cull the old time ranges  when  possible  to  save  memory  (Nick
37379             Craig-Wood)
37380
37381           • Fix panic due to server-side copy fallback (Ivan Andreev)
37382
37383           • Fix  memory leak noticeable for transfers of large numbers of ob‐
37384             jects (Nick Craig-Wood)
37385
37386           • Fix total duration calculation (Nick Craig-Wood)
37387
37388         • cmd
37389
37390           • Fix environment variables not setting command  line  flags  (Nick
37391             Craig-Wood)
37392
37393           • Make  autocomplete  compatible  with  bash's posix mode for macOS
37394             (Danil Semelenov)
37395
37396           • Make --progress work in git bash on Windows (Nick Craig-Wood)
37397
37398           • Fix 'compopt: command not found' on autocomplete on macOS  (Danil
37399             Semelenov)
37400
37401         • config
37402
37403           • Fix  setting  of  non  top level flags from environment variables
37404             (Nick Craig-Wood)
37405
37406           • Check  config  names  more  carefully  and  report  errors  (Nick
37407             Craig-Wood)
37408
37409           • Remove  error:  can't use --size-only and --ignore-size together.
37410             (Nick Craig-Wood)
37411
37412         • filter: Prevent mixing options when --files-from is in use (Michele
37413           Caci)
37414
37415         • serve  sftp:  Fix  crash on unsupported operations (e.g.  Readlink)
37416           (Nick Craig-Wood)
37417
37418       • Mount
37419
37420         • Allow files of unknown size to be read properly (Nick Craig-Wood)
37421
37422         • Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
37423
37424         • Fix panic on File.Open (Nick Craig-Wood)
37425
37426         • Fix "mount_fusefs: -o timeout=: option not  supported"  on  FreeBSD
37427           (Nick Craig-Wood)
37428
37429         • Don't  pass  huge  filenames  (>4k)  to FUSE as it can't cope (Nick
37430           Craig-Wood)
37431
37432       • VFS
37433
37434         • Add flag --vfs-case-insensitive for windows/macOS mounts (Ivan  An‐
37435           dreev)
37436
37437         • Make  objects  of  unknown  size  readable  through  the  VFS (Nick
37438           Craig-Wood)
37439
37440         • Move writeback of dirty data out of close()  method  into  its  own
37441           method  (FlushWrites)  and  remove close() call from Flush() (Brett
37442           Dutro)
37443
37444         • Stop empty dirs disappearing when renamed on bucket  based  remotes
37445           (Nick Craig-Wood)
37446
37447         • Stop  change notify polling clearing so much of the directory cache
37448           (Nick Craig-Wood)
37449
37450       • Azure Blob
37451
37452         • Disable logging to the Windows event log (Nick Craig-Wood)
37453
37454       • B2
37455
37456         • Remove unverified: prefix on sha1 to improve  interop  (e.g.   with
37457           CyberDuck) (Nick Craig-Wood)
37458
37459       • Box
37460
37461         • Add options to get access token via JWT auth (David)
37462
37463       • Drive
37464
37465         • Disable  HTTP/2  by  default to work around INTERNAL_ERROR problems
37466           (Nick Craig-Wood)
37467
37468         • Make sure that drive root ID is always canonical (Nick Craig-Wood)
37469
37470         • Fix --drive-shared-with-me from the  root  with  lsand  --fast-list
37471           (Nick Craig-Wood)
37472
37473         • Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
37474
37475         • Fix   change   notify   polling   when  using  appDataFolder  (Nick
37476           Craig-Wood)
37477
37478       • Dropbox
37479
37480         • Make disallowed filenames errors not retry (Nick Craig-Wood)
37481
37482         • Fix nil pointer exception on restricted files (Nick Craig-Wood)
37483
37484       • Fichier
37485
37486         • Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
37487
37488       • FTP
37489
37490         • Allow disabling EPSV mode (Jon Fautley)
37491
37492       • HTTP
37493
37494         • HEAD directory entries in parallel to speedup (Nick Craig-Wood)
37495
37496         • Add --http-no-head to stop rclone  doing  HEAD  in  listings  (Nick
37497           Craig-Wood)
37498
37499       • Putio
37500
37501         • Add ability to resume uploads (Cenk Alti)
37502
37503       • S3
37504
37505         • Fix signature v2_auth headers (Anthony Rusdi)
37506
37507         • Fix encoding for control characters (Nick Craig-Wood)
37508
37509         • Only ask for URL encoded directory listings if we need them on Ceph
37510           (Nick Craig-Wood)
37511
37512         • Add option for multipart failure behaviour (Aleksandar Jankovic)
37513
37514         • Support for multipart copy (庄天翼)
37515
37516         • Fix nil pointer reference if no metadata returned for object  (Nick
37517           Craig-Wood)
37518
37519       • SFTP
37520
37521         • Fix  --sftp-ask-password  trying  to  contact  the  ssh agent (Nick
37522           Craig-Wood)
37523
37524         • Fix hashes of files with backslashes (Nick Craig-Wood)
37525
37526         • Include more ciphers with --sftp-use-insecure-cipher  (Carlos  Fer‐
37527           reyra)
37528
37529       • WebDAV
37530
37531         • Parse and return Sharepoint error response (Henning Surmeier)
37532
37533   v1.49.5 - 2019-10-05
37534       • Bug Fixes
37535
37536         • Revert  back  to  go1.12.x  for  the v1.49.x builds as go1.13.x was
37537           causing issues (Nick Craig-Wood)
37538
37539         • Fix rpm packages by using master builds of nfpm (Nick Craig-Wood)
37540
37541         • Fix macOS build after brew changes (Nick Craig-Wood)
37542
37543   v1.49.4 - 2019-09-29
37544       • Bug Fixes
37545
37546         • cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
37547
37548         • accounting: Fix file handle leak on errors (Nick Craig-Wood)
37549
37550         • oauthutil: Fix security problem when running with two users on  the
37551           same machine (Nick Craig-Wood)
37552
37553       • FTP
37554
37555         • Fix  listing  of an empty root returning: error dir not found (Nick
37556           Craig-Wood)
37557
37558       • S3
37559
37560         • Fix SetModTime on GLACIER/ARCHIVE  objects  and  implement  set/get
37561           tier (Nick Craig-Wood)
37562
37563   v1.49.3 - 2019-09-15
37564       • Bug Fixes
37565
37566         • accounting
37567
37568           • Fix total duration calculation (Aleksandar Jankovic)
37569
37570           • Fix "file already closed" on transfer retries (Nick Craig-Wood)
37571
37572   v1.49.2 - 2019-09-08
37573       • New Features
37574
37575         • build: Add Docker workflow support (Alfonso Montero)
37576
37577       • Bug Fixes
37578
37579         • accounting:   Fix  locking  in  Transfer  to  avoid  deadlock  with
37580           --progress (Nick Craig-Wood)
37581
37582         • docs: Fix template argument for mktemp in install.sh (Cnly)
37583
37584         • operations: Fix -u/--update with google photos / files  of  unknown
37585           size (Nick Craig-Wood)
37586
37587         • rc: Fix docs for config/create /update /password (Nick Craig-Wood)
37588
37589       • Google Cloud Storage
37590
37591         • Fix need for elevated permissions on SetModTime (Nick Craig-Wood)
37592
37593   v1.49.1 - 2019-08-28
37594       • Bug Fixes
37595
37596         • config:  Fix  generated  passwords  being  stored as empty password
37597           (Nick Craig-Wood)
37598
37599         • rcd: Added missing parameter for web-gui info logs.  (Chaitanya)
37600
37601       • Googlephotos
37602
37603         • Fix crash on error response (Nick Craig-Wood)
37604
37605       • Onedrive
37606
37607         • Fix crash on error response (Nick Craig-Wood)
37608
37609   v1.49.0 - 2019-08-26
37610       • New backends
37611
37612         • 1fichier (https://rclone.org/fichier/) (Laura Hausmann)
37613
37614         • Google Photos (https://rclone.org/googlephotos/) (Nick Craig-Wood)
37615
37616         • Putio (https://rclone.org/putio/) (Cenk Alti)
37617
37618         • premiumize.me (https://rclone.org/premiumizeme/) (Nick Craig-Wood)
37619
37620       • New Features
37621
37622         • Experimental web GUI (https://rclone.org/gui/)  (Chaitanya  Bankan‐
37623           hal)
37624
37625         • Implement --compare-dest & --copy-dest (yparitcher)
37626
37627         • Implement  --suffix  without --backup-dir for backup to current dir
37628           (yparitcher)
37629
37630         • config reconnect to re-login (re-run the oauth login) for the back‐
37631           end.  (Nick Craig-Wood)
37632
37633         • config userinfo to discover which user you are logged in as.  (Nick
37634           Craig-Wood)
37635
37636         • config disconnect to disconnect you (log  out)  from  the  backend.
37637           (Nick Craig-Wood)
37638
37639         • Add --use-json-log for JSON logging (justinalin)
37640
37641         • Add context propagation to rclone (Aleksandar Jankovic)
37642
37643         • Reworking  internal statistics interfaces so they work with rc jobs
37644           (Aleksandar Jankovic)
37645
37646         • Add Higher units for ETA (AbelThar)
37647
37648         • Update rclone logos to new design (Andreas Chlupka)
37649
37650         • hash: Add CRC-32 support (Cenk Alti)
37651
37652         • help showbackend: Fixed advanced option category when there are  no
37653           standard options (buengese)
37654
37655         • ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
37656
37657         • operations:
37658
37659           • Run hashing operations in parallel (Nick Craig-Wood)
37660
37661           • Don't  calculate  checksums  when  using  --ignore-checksum (Nick
37662             Craig-Wood)
37663
37664           • Check  transfer  hashes  when  using   --size-only   mode   (Nick
37665             Craig-Wood)
37666
37667           • Disable  multi  thread  copy  for  local  to  local  copies (Nick
37668             Craig-Wood)
37669
37670           • Debug successful hashes as well as failures (Nick Craig-Wood)
37671
37672         • rc
37673
37674           • Add ability to stop async jobs (Aleksandar Jankovic)
37675
37676           • Return current settings if core/bwlimit called without parameters
37677             (Nick Craig-Wood)
37678
37679           • Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
37680
37681           • Added command line parameter to control the cross origin resource
37682             sharing (CORS) in the  rcd.   (Security  Improvement)  (Chaitanya
37683             Bankanhal)
37684
37685           • Add  anchor  tags  to  the  docs  so  links  are consistent (Nick
37686             Craig-Wood)
37687
37688           • Remove _async key from input parameters after  parsing  so  later
37689             operations won't get confused (buengese)
37690
37691           • Add call to clear stats (Aleksandar Jankovic)
37692
37693         • rcd
37694
37695           • Auto-login for web-gui (Chaitanya Bankanhal)
37696
37697           • Implement --baseurl for rcd and web-gui (Chaitanya Bankanhal)
37698
37699         • serve dlna
37700
37701           • Only  select  interfaces  which  can  multicast  for  SSDP  (Nick
37702             Craig-Wood)
37703
37704           • Add more builtin mime types to cover standard  audio/video  (Nick
37705             Craig-Wood)
37706
37707           • Fix  missing  mime  types on Android causing missing videos (Nick
37708             Craig-Wood)
37709
37710         • serve ftp
37711
37712           • Refactor to bring into  line  with  other  serve  commands  (Nick
37713             Craig-Wood)
37714
37715           • Implement --auth-proxy (Nick Craig-Wood)
37716
37717         • serve http: Implement --baseurl (Nick Craig-Wood)
37718
37719         • serve restic: Implement --baseurl (Nick Craig-Wood)
37720
37721         • serve sftp
37722
37723           • Implement auth proxy (Nick Craig-Wood)
37724
37725           • Fix detection of whether server is authorized (Nick Craig-Wood)
37726
37727         • serve webdav
37728
37729           • Implement --baseurl (Nick Craig-Wood)
37730
37731           • Support --auth-proxy (Nick Craig-Wood)
37732
37733       • Bug Fixes
37734
37735         • Make "bad record MAC" a retriable error (Nick Craig-Wood)
37736
37737         • copyurl:   Fix   copying   files  that  return  HTTP  errors  (Nick
37738           Craig-Wood)
37739
37740         • march:  Fix  checking  sub-directories  when  using   --no-traverse
37741           (buengese)
37742
37743         • rc
37744
37745           • Fix unmarshalable http.AuthFn in options and put in test for mar‐
37746             shalability (Nick Craig-Wood)
37747
37748           • Move job expire flags to rc to fix initialization  problem  (Nick
37749             Craig-Wood)
37750
37751           • Fix --loopback with rc/list and others (Nick Craig-Wood)
37752
37753         • rcat:   Fix   slowdown   on  systems  with  multiple  hashes  (Nick
37754           Craig-Wood)
37755
37756         • rcd: Fix permissions problems on cache directory with web gui down‐
37757           load (Nick Craig-Wood)
37758
37759       • Mount
37760
37761         • Default  --daemon-timout  to  15 minutes on macOS and FreeBSD (Nick
37762           Craig-Wood)
37763
37764         • Update docs to show mounting from root OK for  bucket  based  (Nick
37765           Craig-Wood)
37766
37767         • Remove nonseekable flag from write files (Nick Craig-Wood)
37768
37769       • VFS
37770
37771         • Make write without cache more efficient (Nick Craig-Wood)
37772
37773         • Fix --vfs-cache-mode minimal and writes ignoring cached files (Nick
37774           Craig-Wood)
37775
37776       • Local
37777
37778         • Add  --local-case-sensitive  and   --local-case-insensitive   (Nick
37779           Craig-Wood)
37780
37781         • Avoid  polluting  page  cache  when uploading local files to remote
37782           backends (Michał Matczuk)
37783
37784         • Don't calculate any hashes by default (Nick Craig-Wood)
37785
37786         • Fadvise run syscall on a dedicated go routine (Michał Matczuk)
37787
37788       • Azure Blob
37789
37790         • Azure Storage Emulator support (Sandeep)
37791
37792         • Updated config help details to remove connection string  references
37793           (Sandeep)
37794
37795         • Make all operations work from the root (Nick Craig-Wood)
37796
37797       • B2
37798
37799         • Implement link sharing (yparitcher)
37800
37801         • Enable server-side copy to copy between buckets (Nick Craig-Wood)
37802
37803         • Make all operations work from the root (Nick Craig-Wood)
37804
37805       • Drive
37806
37807         • Fix server-side copy of big files (Nick Craig-Wood)
37808
37809         • Update API for teamdrive use (Nick Craig-Wood)
37810
37811         • Add error for purge with --drive-trashed-only (ginvine)
37812
37813       • Fichier
37814
37815         • Make FolderID int and adjust related code (buengese)
37816
37817       • Google Cloud Storage
37818
37819         • Reduce   oauth   scope  requested  as  suggested  by  Google  (Nick
37820           Craig-Wood)
37821
37822         • Make all operations work from the root (Nick Craig-Wood)
37823
37824       • HTTP
37825
37826         • Add  --http-headers  flag  for  setting  arbitrary  headers   (Nick
37827           Craig-Wood)
37828
37829       • Jottacloud
37830
37831         • Use new api for retrieving internal username (buengese)
37832
37833         • Refactor configuration and minor cleanup (buengese)
37834
37835       • Koofr
37836
37837         • Support setting modification times on Koofr backend.  (jaKa)
37838
37839       • Opendrive
37840
37841         • Refactor  to  use  existing  lib/rest  facilities for uploads (Nick
37842           Craig-Wood)
37843
37844       • Qingstor
37845
37846         • Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
37847
37848         • Make all operations work from the root (Nick Craig-Wood)
37849
37850       • S3
37851
37852         • Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
37853
37854         • Make all operations work from the root (Nick Craig-Wood)
37855
37856       • SFTP
37857
37858         • Add missing interface check and fix About (Nick Craig-Wood)
37859
37860         • Completely ignore all modtime checks if SetModTime=false (Jon Faut‐
37861           ley)
37862
37863         • Support md5/sha1 with rsync.net (Nick Craig-Wood)
37864
37865         • Save  the md5/sha1 command in use to the config file for efficiency
37866           (Nick Craig-Wood)
37867
37868         • Opt-in     support     for     diffie-hellman-group-exchange-sha256
37869           diffie-hellman-group-exchange-sha1 (Yi FU)
37870
37871       • Swift
37872
37873         • Use  FixRangeOption  to  fix  0  length  files  via  the  VFS (Nick
37874           Craig-Wood)
37875
37876         • Fix upload when using no_chunk to return  the  correct  size  (Nick
37877           Craig-Wood)
37878
37879         • Make all operations work from the root (Nick Craig-Wood)
37880
37881         • Fix  segments leak during failed large file uploads.  (nguyenhuulu‐
37882           an434)
37883
37884       • WebDAV
37885
37886         • Add --webdav-bearer-token-command (Nick Craig-Wood)
37887
37888         • Refresh token when it  expires  with  --webdav-bearer-token-command
37889           (Nick Craig-Wood)
37890
37891         • Add  docs for using bearer_token_command with oidc-agent (Paul Mil‐
37892           lar)
37893
37894   v1.48.0 - 2019-06-15
37895       • New commands
37896
37897         • serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
37898
37899       • New Features
37900
37901         • Multi threaded downloads to local storage (Nick Craig-Wood)
37902
37903           • controlled with --multi-thread-cutoff and --multi-thread-streams
37904
37905         • Use rclone.conf from rclone executable directory to enable portable
37906           use (albertony)
37907
37908         • Allow sync of a file and a directory with the same name (forgems)
37909
37910           • this is common on bucket based remotes, e.g.  s3, gcs
37911
37912         • Add --ignore-case-sync for forced case insensitivity (garry415)
37913
37914         • Implement  --stats-one-line-date  and  --stats-one-line-date-format
37915           (Peter Berbec)
37916
37917         • Log an ERROR for all commands which exit with non-zero status (Nick
37918           Craig-Wood)
37919
37920         • Use  go-homedir  to  read  the  home  directory more reliably (Nick
37921           Craig-Wood)
37922
37923         • Enable creating encrypted config through external script invocation
37924           (Wojciech Smigielski)
37925
37926         • build: Drop support for go1.8 (Nick Craig-Wood)
37927
37928         • config: Make config create/update encrypt passwords where necessary
37929           (Nick Craig-Wood)
37930
37931         • copyurl: Honor --no-check-certificate (Stefan Breunig)
37932
37933         • install: Linux skip man pages if no mandb (didil)
37934
37935         • lsf: Support showing the Tier of the object (Nick Craig-Wood)
37936
37937         • lsjson
37938
37939           • Added EncryptedPath to output (calisro)
37940
37941           • Support showing the Tier of the object (Nick Craig-Wood)
37942
37943           • Add IsBucket field for bucket based remote listing  of  the  root
37944             (Nick Craig-Wood)
37945
37946         • rc
37947
37948           • Add  --loopback  flag  to  run commands directly without a server
37949             (Nick Craig-Wood)
37950
37951           • Add operations/fsinfo: Return information about the remote  (Nick
37952             Craig-Wood)
37953
37954           • Skip auth for OPTIONS request (Nick Craig-Wood)
37955
37956           • cmd/providers:  Add  DefaultStr,  ValueStr  and Type fields (Nick
37957             Craig-Wood)
37958
37959           • jobs: Make job expiry timeouts configurable (Aleksandar Jankovic)
37960
37961         • serve dlna reworked and improved (Dan Walters)
37962
37963         • serve ftp: add --ftp-public-ip flag to specify public IP (calistri)
37964
37965         • serve restic: Add support for --private-repos in serve restic (Flo‐
37966           rian Apolloner)
37967
37968         • serve webdav: Combine serve webdav and serve http (Gary Kim)
37969
37970         • size: Ignore negative sizes when calculating total (Garry McNulty)
37971
37972       • Bug Fixes
37973
37974         • Make  move  and  copy  individual  files  obey  --backup-dir  (Nick
37975           Craig-Wood)
37976
37977         • If --ignore-checksum is in effect, don't calculate  checksum  (Nick
37978           Craig-Wood)
37979
37980         • moveto: Fix case-insensitive same remote move (Gary Kim)
37981
37982         • rc:   Fix  serving  bucket  based  objects  with  --rc-serve  (Nick
37983           Craig-Wood)
37984
37985         • serve webdav: Fix serveDir not being updated with changes from web‐
37986           dav (Gary Kim)
37987
37988       • Mount
37989
37990         • Fix poll interval documentation (Animosity022)
37991
37992       • VFS
37993
37994         • Make  WriteAt  for non cached files work with non-sequential writes
37995           (Nick Craig-Wood)
37996
37997       • Local
37998
37999         • Only  calculate  the  required  hashes  for   big   speedup   (Nick
38000           Craig-Wood)
38001
38002         • Log  errors  when  listing  instead  of  returning  an  error (Nick
38003           Craig-Wood)
38004
38005         • Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
38006
38007       • Crypt
38008
38009         • Make rclone dedupe work through crypt (Nick Craig-Wood)
38010
38011         • Fix wrapping of ChangeNotify to decrypt directories properly  (Nick
38012           Craig-Wood)
38013
38014         • Support  PublicLink  (rclone  link)  of  underlying  backend  (Nick
38015           Craig-Wood)
38016
38017         • Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
38018
38019       • B2
38020
38021         • Implement server-side copy (Nick Craig-Wood)
38022
38023         • Implement SetModTime (Nick Craig-Wood)
38024
38025       • Drive
38026
38027         • Fix move and copy from TeamDrive to GDrive (Fionera)
38028
38029         • Add notes that cleanup works  in  the  background  on  drive  (Nick
38030           Craig-Wood)
38031
38032         • Add --drive-server-side-across-configs to default back to old serv‐
38033           er-side copy semantics by default (Nick Craig-Wood)
38034
38035         • Add --drive-size-as-quota to show storage quota usage for file size
38036           (Garry McNulty)
38037
38038       • FTP
38039
38040         • Add FTP List timeout (Jeff Quinn)
38041
38042         • Add FTP over TLS support (Gary Kim)
38043
38044         • Add --ftp-no-check-certificate option for FTPS (Gary Kim)
38045
38046       • Google Cloud Storage
38047
38048         • Fix upload errors when uploading pre 1970 files (Nick Craig-Wood)
38049
38050       • Jottacloud
38051
38052         • Add support for selecting device and mountpoint.  (buengese)
38053
38054       • Mega
38055
38056         • Add cleanup support (Gary Kim)
38057
38058       • Onedrive
38059
38060         • More accurately check if root is found (Cnly)
38061
38062       • S3
38063
38064         • Support  S3 Accelerated endpoints with --s3-use-accelerate-endpoint
38065           (Nick Craig-Wood)
38066
38067         • Add config info for Wasabi's EU Central endpoint (Robert Marko)
38068
38069         • Make SetModTime work for GLACIER while syncing (Philip Harvey)
38070
38071       • SFTP
38072
38073         • Add About support (Gary Kim)
38074
38075         • Fix about parsing of df results so it can  cope  with  -ve  results
38076           (Nick Craig-Wood)
38077
38078         • Send   custom   client  version  and  debug  server  version  (Nick
38079           Craig-Wood)
38080
38081       • WebDAV
38082
38083         • Retry on 423 Locked errors (Nick Craig-Wood)
38084
38085   v1.47.0 - 2019-04-13
38086       • New backends
38087
38088         • Backend for Koofr cloud storage service.  (jaKa)
38089
38090       • New Features
38091
38092         • Resume downloads if the reader fails in copy (Nick Craig-Wood)
38093
38094           • this means rclone will restart transfers if the source has an er‐
38095             ror
38096
38097           • this is most useful for downloads or cloud to cloud copies
38098
38099         • Use --fast-list for listing operations where it won't use more mem‐
38100           ory (Nick Craig-Wood)
38101
38102           • this should speed up the following operations  on  remotes  which
38103             support ListR
38104
38105           • dedupe,  serve restic lsf, ls, lsl, lsjson, lsd, md5sum, sha1sum,
38106             hashsum, size, delete, cat, settier
38107
38108           • use --disable ListR to get old behaviour if required
38109
38110         • Make --files-from traverse the destination unless --no-traverse  is
38111           set (Nick Craig-Wood)
38112
38113           • this  fixes  --files-from with Google drive and excessive API use
38114             in general.
38115
38116         • Make server-side copy account bytes and obey  --max-transfer  (Nick
38117           Craig-Wood)
38118
38119         • Add  --create-empty-src-dirs flag and default to not creating empty
38120           dirs (ishuah)
38121
38122         • Add client side TLS/SSL flags  --ca-cert/--client-cert/--client-key
38123           (Nick Craig-Wood)
38124
38125         • Implement  --suffix-keep-extension  for  use  with  --suffix  (Nick
38126           Craig-Wood)
38127
38128         • build:
38129
38130           • Switch to semver compliant version tags to be go modules  compli‐
38131             ant (Nick Craig-Wood)
38132
38133           • Update to use go1.12.x for the build (Nick Craig-Wood)
38134
38135         • serve  dlna:  Add connection manager service description to improve
38136           compatibility (Dan Walters)
38137
38138         • lsf: Add 'e' format to show encrypted names and  'o'  for  original
38139           IDs (Nick Craig-Wood)
38140
38141         • lsjson: Added --files-only and --dirs-only flags (calistri)
38142
38143         • rc:  Implement  operations/publiclink the equivalent of rclone link
38144           (Nick Craig-Wood)
38145
38146       • Bug Fixes
38147
38148         • accounting: Fix total ETA when --stats-unit bits is in effect (Nick
38149           Craig-Wood)
38150
38151         • Bash TAB completion
38152
38153           • Use  private  custom func to fix clash between rclone and kubectl
38154             (Nick Craig-Wood)
38155
38156           • Fix for remotes with underscores in their names (Six)
38157
38158           • Fix completion of remotes (Florian Gamböck)
38159
38160           • Fix autocompletion of remote paths with spaces (Danil Semelenov)
38161
38162         • serve dlna: Fix root XML service descriptor (Dan Walters)
38163
38164         • ncdu:  Fix  display  corruption  with  Chinese   characters   (Nick
38165           Craig-Wood)
38166
38167         • Add  SIGTERM  to  signals which run the exit handlers on unix (Nick
38168           Craig-Wood)
38169
38170         • rc: Reload filter when  the  options  are  set  via  the  rc  (Nick
38171           Craig-Wood)
38172
38173       • VFS / Mount
38174
38175         • Fix  FreeBSD: Ignore Truncate if called with no readers and already
38176           the correct size (Nick Craig-Wood)
38177
38178         • Read directory and check for a file before mkdir (Nick Craig-Wood)
38179
38180         • Shorten the locking window for vfs/refresh (Nick Craig-Wood)
38181
38182       • Azure Blob
38183
38184         • Enable MD5 checksums when uploading files bigger than the  "Cutoff"
38185           (Dr.Rx)
38186
38187         • Fix SAS URL support (Nick Craig-Wood)
38188
38189       • B2
38190
38191         • Allow manual configuration of backblaze downloadUrl (Vince)
38192
38193         • Ignore already_hidden error on remove (Nick Craig-Wood)
38194
38195         • Ignore malformed src_last_modified_millis (Nick Craig-Wood)
38196
38197       • Drive
38198
38199         • Add --skip-checksum-gphotos to ignore incorrect checksums on Google
38200           Photos (Nick Craig-Wood)
38201
38202         • Allow server-side move/copy between different remotes.  (Fionera)
38203
38204         • Add docs on team drives and --fast-list eventual consistency  (Nes‐
38205           tar47)
38206
38207         • Fix imports of text files (Nick Craig-Wood)
38208
38209         • Fix range requests on 0 length files (Nick Craig-Wood)
38210
38211         • Fix creation of duplicates with server-side copy (Nick Craig-Wood)
38212
38213       • Dropbox
38214
38215         • Retry blank errors to fix long listings (Nick Craig-Wood)
38216
38217       • FTP
38218
38219         • Add  --ftp-concurrency to limit maximum number of connections (Nick
38220           Craig-Wood)
38221
38222       • Google Cloud Storage
38223
38224         • Fall back to default application credentials (marcintustin)
38225
38226         • Allow bucket policy only buckets (Nick Craig-Wood)
38227
38228       • HTTP
38229
38230         • Add --http-no-slash for websites with directories with  no  slashes
38231           (Nick Craig-Wood)
38232
38233         • Remove duplicates from listings (Nick Craig-Wood)
38234
38235         • Fix socket leak on 404 errors (Nick Craig-Wood)
38236
38237       • Jottacloud
38238
38239         • Fix token refresh (Sebastian Bünger)
38240
38241         • Add device registration (Oliver Heyme)
38242
38243       • Onedrive
38244
38245         • Implement  graceful cancel of multipart uploads if rclone is inter‐
38246           rupted (Cnly)
38247
38248         • Always add trailing colon to path when addressing items, (Cnly)
38249
38250         • Return errors instead of panic for invalid uploads (Fabian Möller)
38251
38252       • S3
38253
38254         • Add support for "Glacier Deep Archive" storage class (Manu)
38255
38256         • Update Dreamhost endpoint (Nick Craig-Wood)
38257
38258         • Note incompatibility with CEPH Jewel (Nick Craig-Wood)
38259
38260       • SFTP
38261
38262         • Allow custom ssh client config (Alexandru Bumbacea)
38263
38264       • Swift
38265
38266         • Obey Retry-After to enable OVH  restore  from  cold  storage  (Nick
38267           Craig-Wood)
38268
38269         • Work around token expiry on CEPH (Nick Craig-Wood)
38270
38271       • WebDAV
38272
38273         • Allow   IsCollection  property  to  be  integer  or  boolean  (Nick
38274           Craig-Wood)
38275
38276         • Fix race when creating directories (Nick Craig-Wood)
38277
38278         • Fix About/df when  reading  the  available/total  returns  0  (Nick
38279           Craig-Wood)
38280
38281   v1.46 - 2019-02-09
38282       • New backends
38283
38284         • Support  Alibaba  Cloud  (Aliyun)  OSS  via  the  s3  backend (Nick
38285           Craig-Wood)
38286
38287       • New commands
38288
38289         • serve dlna: serves a remove via DLNA for  the  local  network  (ni‐
38290           colov)
38291
38292       • New Features
38293
38294         • copy, move: Restore deprecated --no-traverse flag (Nick Craig-Wood)
38295
38296           • This is useful for when transferring a small number of files into
38297             a large destination
38298
38299         • genautocomplete: Add remote path  completion  for  bash  completion
38300           (Christopher Peterson & Danil Semelenov)
38301
38302         • Buffer  memory  handling reworked to return memory to the OS better
38303           (Nick Craig-Wood)
38304
38305           • Buffer recycling library to replace sync.Pool
38306
38307           • Optionally use memory mapped memory for better memory shrinking
38308
38309           • Enable with --use-mmap if having memory problems  -  not  default
38310             yet
38311
38312         • Parallelise  reading  of  files  specified  by  --files-from  (Nick
38313           Craig-Wood)
38314
38315         • check: Add stats showing total files matched.  (Dario Guzik)
38316
38317         • Allow rename/delete open files under Windows (Nick Craig-Wood)
38318
38319         • lsjson: Use exactly the correct number of  decimal  places  in  the
38320           seconds (Nick Craig-Wood)
38321
38322         • Add  cookie  support with cmdline switch --use-cookies for all HTTP
38323           based remotes (qip)
38324
38325         • Warn if --checksum is set but there are no hashes  available  (Nick
38326           Craig-Wood)
38327
38328         • Rework rate limiting (pacer) to be more accurate and allow bursting
38329           (Nick Craig-Wood)
38330
38331         • Improve error reporting for  too  many/few  arguments  in  commands
38332           (Nick Craig-Wood)
38333
38334         • listremotes:  Remove  -l  short  flag  as it conflicts with the new
38335           global flag (weetmuts)
38336
38337         • Make http serving with auth generate INFO  messages  on  auth  fail
38338           (Nick Craig-Wood)
38339
38340       • Bug Fixes
38341
38342         • Fix layout of stats (Nick Craig-Wood)
38343
38344         • Fix --progress crash under Windows Jenkins (Nick Craig-Wood)
38345
38346         • Fix  transfer  of google/onedrive docs by calling Rcat in Copy when
38347           size is -1 (Cnly)
38348
38349         • copyurl: Fix checking of --dry-run (Denis Skovpen)
38350
38351       • Mount
38352
38353         • Check that mountpoint and local directory to  mount  don't  overlap
38354           (Nick Craig-Wood)
38355
38356         • Fix mount size under 32 bit Windows (Nick Craig-Wood)
38357
38358       • VFS
38359
38360         • Implement  renaming  of  directories  for  backends without DirMove
38361           (Nick Craig-Wood)
38362
38363           • now all backends except b2 support renaming directories
38364
38365         • Implement --vfs-cache-max-size to limit the total size of the cache
38366           (Nick Craig-Wood)
38367
38368         • Add  --dir-perms  and --file-perms flags to set default permissions
38369           (Nick Craig-Wood)
38370
38371         • Fix  deadlock  on  concurrent  operations  on  a  directory   (Nick
38372           Craig-Wood)
38373
38374         • Fix  deadlock  between  RWFileHandle.close  and  File.Remove  (Nick
38375           Craig-Wood)
38376
38377         • Fix renaming/deleting open files with  cache  mode  "writes"  under
38378           Windows (Nick Craig-Wood)
38379
38380         • Fix panic on rename with --dry-run set (Nick Craig-Wood)
38381
38382         • Fix vfs/refresh with recurse=true needing the --fast-list flag
38383
38384       • Local
38385
38386         • Add  support  for -l/--links (symbolic link translation) (yair@uni‐
38387           corn)
38388
38389           • this works by showing links as link.rclonelink - see local  back‐
38390             end docs for more info
38391
38392           • this errors if used with -L/--copy-links
38393
38394         • Fix renaming/deleting open files on Windows (Nick Craig-Wood)
38395
38396       • Crypt
38397
38398         • Check  for  maximum  length before decrypting filename to fix panic
38399           (Garry McNulty)
38400
38401       • Azure Blob
38402
38403         • Allow building azureblob backend on *BSD (themylogin)
38404
38405         • Use the rclone HTTP client to support --dump  headers,  --tpslimit,
38406           etc.  (Nick Craig-Wood)
38407
38408         • Use  the  s3  pacer  for  0  delay  in  non  error conditions (Nick
38409           Craig-Wood)
38410
38411         • Ignore directory markers (Nick Craig-Wood)
38412
38413         • Stop  Mkdir  attempting  to  create   existing   containers   (Nick
38414           Craig-Wood)
38415
38416       • B2
38417
38418         • cleanup:  will  remove unfinished large files >24hrs old (Garry Mc‐
38419           Nulty)
38420
38421         • For a bucket limited application key check the  bucket  name  (Nick
38422           Craig-Wood)
38423
38424           • before this, rclone would use the authorised bucket regardless of
38425             what you put on the command line
38426
38427         • Added --b2-disable-checksum flag (Wojciech Smigielski)
38428
38429           • this enables large files to be uploaded without a SHA-1 hash  for
38430             speed reasons
38431
38432       • Drive
38433
38434         • Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
38435
38436           • This fits the Google defaults much better and reduces the 403 er‐
38437             rors massively
38438
38439           • Add --drive-pacer-min-sleep and  --drive-pacer-burst  to  control
38440             the pacer
38441
38442         • Improve ChangeNotify support for items with multiple parents (Fabi‐
38443           an Möller)
38444
38445         • Fix ListR for items with multiple parents  -  this  fixes  oddities
38446           with vfs/refresh (Fabian Möller)
38447
38448         • Fix using --drive-impersonate and appfolders (Nick Craig-Wood)
38449
38450         • Fix  google  docs  in  rclone mount for some (not all) applications
38451           (Nick Craig-Wood)
38452
38453       • Dropbox
38454
38455         • Retry-After support for Dropbox backend (Mathieu Carbou)
38456
38457       • FTP
38458
38459         • Wait for 60 seconds for a connection to Close then declare it  dead
38460           (Nick Craig-Wood)
38461
38462           • helps with indefinite hangs on some FTP servers
38463
38464       • Google Cloud Storage
38465
38466         • Update google cloud storage endpoints (weetmuts)
38467
38468       • HTTP
38469
38470         • Add  an  example  with username and password which is supported but
38471           wasn't documented (Nick Craig-Wood)
38472
38473         • Fix  backend  with  --files-from  and  non-existent   files   (Nick
38474           Craig-Wood)
38475
38476       • Hubic
38477
38478         • Make  error  message more informative if authentication fails (Nick
38479           Craig-Wood)
38480
38481       • Jottacloud
38482
38483         • Resume and deduplication support (Oliver Heyme)
38484
38485         • Use token auth for all API requests Don't  store  password  anymore
38486           (Sebastian Bünger)
38487
38488         • Add support for 2-factor authentication (Sebastian Bünger)
38489
38490       • Mega
38491
38492         • Implement  v2  account  login which fixes logins for newer Mega ac‐
38493           counts (Nick Craig-Wood)
38494
38495         • Return error if an unknown length file is attempted to be  uploaded
38496           (Nick Craig-Wood)
38497
38498         • Add new error codes for better error reporting (Nick Craig-Wood)
38499
38500       • Onedrive
38501
38502         • Fix broken support for "shared with me" folders (Alex Chen)
38503
38504         • Fix root ID not normalised (Cnly)
38505
38506         • Return err instead of panic on unknown-sized uploads (Cnly)
38507
38508       • Qingstor
38509
38510         • Fix go routine leak on multipart upload errors (Nick Craig-Wood)
38511
38512         • Add upload chunk size/concurrency/cutoff control (Nick Craig-Wood)
38513
38514         • Default --qingstor-upload-concurrency to 1 to work around bug (Nick
38515           Craig-Wood)
38516
38517       • S3
38518
38519         • Implement --s3-upload-cutoff for single  part  uploads  below  this
38520           (Nick Craig-Wood)
38521
38522         • Change --s3-upload-concurrency default to 4 to increase performance
38523           (Nick Craig-Wood)
38524
38525         • Add --s3-bucket-acl to control bucket ACL (Nick Craig-Wood)
38526
38527         • Auto  detect  region  for  buckets  on  operation   failure   (Nick
38528           Craig-Wood)
38529
38530         • Add GLACIER storage class (William Cocker)
38531
38532         • Add Scaleway to s3 documentation (Rémy Léone)
38533
38534         • Add AWS endpoint eu-north-1 (weetmuts)
38535
38536       • SFTP
38537
38538         • Add support for PEM encrypted private keys (Fabian Möller)
38539
38540         • Add option to force the usage of an ssh-agent (Fabian Möller)
38541
38542         • Perform environment variable expansion on key-file (Fabian Möller)
38543
38544         • Fix   rmdir   on  Windows  based  servers  (e.g.   CrushFTP)  (Nick
38545           Craig-Wood)
38546
38547         • Fix rmdir deleting directory contents on some  SFTP  servers  (Nick
38548           Craig-Wood)
38549
38550         • Fix error on dangling symlinks (Nick Craig-Wood)
38551
38552       • Swift
38553
38554         • Add  --swift-no-chunk  to  disable  segmented uploads in rcat/mount
38555           (Nick Craig-Wood)
38556
38557         • Introduce application credential auth support (kayrus)
38558
38559         • Fix memory usage by slimming Object (Nick Craig-Wood)
38560
38561         • Fix extra requests on upload (Nick Craig-Wood)
38562
38563         • Fix reauth on big files (Nick Craig-Wood)
38564
38565       • Union
38566
38567         • Fix poll-interval not working (Nick Craig-Wood)
38568
38569       • WebDAV
38570
38571         • Support About which means rclone mount will show the  correct  disk
38572           size (Nick Craig-Wood)
38573
38574         • Support  MD5  and  SHA1  hashes  with  Owncloud and Nextcloud (Nick
38575           Craig-Wood)
38576
38577         • Fail soft on time parsing errors (Nick Craig-Wood)
38578
38579         • Fix infinite loop on failed directory creation (Nick Craig-Wood)
38580
38581         • Fix identification of directories for  Bitrix  Site  Manager  (Nick
38582           Craig-Wood)
38583
38584         • Fix upload of 0 length files on some servers (Nick Craig-Wood)
38585
38586         • Fix  if  MKCOL  fails  with  423 Locked assume the directory exists
38587           (Nick Craig-Wood)
38588
38589   v1.45 - 2018-11-24
38590       • New backends
38591
38592         • The Yandex backend was re-written - see below for  details  (Sebas‐
38593           tian Bünger)
38594
38595       • New commands
38596
38597         • rcd:  New  command  just  to  serve  the  remote  control API (Nick
38598           Craig-Wood)
38599
38600       • New Features
38601
38602         • The remote control API (rc) was greatly expanded to allow full con‐
38603           trol over rclone (Nick Craig-Wood)
38604
38605           • sensitive  operations  require  authorization or the --rc-no-auth
38606             flag
38607
38608           • config/* operations to configure rclone
38609
38610           • options/* for reading/setting command line flags
38611
38612           • operations/* for all low level operations, e.g.  copy file,  list
38613             directory
38614
38615           • sync/* for sync, copy and move
38616
38617           • --rc-files flag to serve files on the rc http server
38618
38619             • this is for building web native GUIs for rclone
38620
38621           • Optionally serving objects on the rc http server
38622
38623           • Ensure  rclone  fails  to start up if the --rc port is in use al‐
38624             ready
38625
38626           • See the rc docs (https://rclone.org/rc/) for more info
38627
38628         • sync/copy/move
38629
38630           • Make --files-from only read the objects specified and don't  scan
38631             directories (Nick Craig-Wood)
38632
38633             • This  is a huge speed improvement for destinations with lots of
38634               files
38635
38636         • filter: Add --ignore-case flag (Nick Craig-Wood)
38637
38638         • ncdu: Add remove function ('d' key) (Henning Surmeier)
38639
38640         • rc command
38641
38642           • Add --json flag for structured JSON input (Nick Craig-Wood)
38643
38644           • Add --user and --pass flags and interpret  --rc-user,  --rc-pass,
38645             --rc-addr (Nick Craig-Wood)
38646
38647         • build
38648
38649           • Require go1.8 or later for compilation (Nick Craig-Wood)
38650
38651           • Enable softfloat on MIPS arch (Scott Edlund)
38652
38653           • Integration test framework revamped with a better report and bet‐
38654             ter retries (Nick Craig-Wood)
38655
38656       • Bug Fixes
38657
38658         • cmd: Make --progress update the stats correctly at  the  end  (Nick
38659           Craig-Wood)
38660
38661         • config:  Create  config  directory  on  save if it is missing (Nick
38662           Craig-Wood)
38663
38664         • dedupe: Check for existing filename before  renaming  a  dupe  file
38665           (ssaqua)
38666
38667         • move: Don't create directories with --dry-run (Nick Craig-Wood)
38668
38669         • operations:  Fix  Purge  and  Rmdirs when dir is not the root (Nick
38670           Craig-Wood)
38671
38672         • serve http/webdav/restic: Ensure rclone exits if the port is in use
38673           (Nick Craig-Wood)
38674
38675       • Mount
38676
38677         • Make --volname work for Windows and macOS (Nick Craig-Wood)
38678
38679       • Azure Blob
38680
38681         • Avoid context deadline exceeded error by setting a large TryTimeout
38682           value (brused27)
38683
38684         • Fix erroneous Rmdir error "directory not empty" (Nick Craig-Wood)
38685
38686         • Wait for up to  60s  to  create  a  just  deleted  container  (Nick
38687           Craig-Wood)
38688
38689       • Dropbox
38690
38691         • Add dropbox impersonate support (Jake Coggiano)
38692
38693       • Jottacloud
38694
38695         • Fix bug in --fast-list handing of empty folders (albertony)
38696
38697       • Opendrive
38698
38699         • Fix transfer of files with + and & in (Nick Craig-Wood)
38700
38701         • Fix retries of upload chunks (Nick Craig-Wood)
38702
38703       • S3
38704
38705         • Set  ACL  for server-side copies to that provided by the user (Nick
38706           Craig-Wood)
38707
38708         • Fix role_arn, credential_source, ...  (Erik Swanson)
38709
38710         • Add config info for Wasabi's US-West endpoint (Henry Ptasinski)
38711
38712       • SFTP
38713
38714         • Ensure file hash checking is really disabled (Jon Fautley)
38715
38716       • Swift
38717
38718         • Add pacer for retries to make swift more reliable (Nick Craig-Wood)
38719
38720       • WebDAV
38721
38722         • Add Content-Type to PUT requests (Nick Craig-Wood)
38723
38724         • Fix config parsing so --webdav-user and  --webdav-pass  flags  work
38725           (Nick Craig-Wood)
38726
38727         • Add RFC3339 date format (Ralf Hemberger)
38728
38729       • Yandex
38730
38731         • The yandex backend was re-written (Sebastian Bünger)
38732
38733           • This implements low level retries (Sebastian Bünger)
38734
38735           • Copy,  Move,  DirMove,  PublicLink  and About optional interfaces
38736             (Sebastian Bünger)
38737
38738           • Improved general error handling (Sebastian Bünger)
38739
38740           • Removed ListR for now due to  inconsistent  behaviour  (Sebastian
38741             Bünger)
38742
38743   v1.44 - 2018-10-15
38744       • New commands
38745
38746         • serve ftp: Add ftp server (Antoine GIRARD)
38747
38748         • settier:   perform   storage  tier  changes  on  supported  remotes
38749           (sandeepkru)
38750
38751       • New Features
38752
38753         • Reworked command line help
38754
38755           • Make default help less verbose (Nick Craig-Wood)
38756
38757           • Split flags up into global and backend flags (Nick Craig-Wood)
38758
38759           • Implement  specialised  help  for  flags   and   backends   (Nick
38760             Craig-Wood)
38761
38762           • Show  URL  of  backend  help  page  when  starting  config  (Nick
38763             Craig-Wood)
38764
38765         • stats: Long names now split in center (Joanna Marek)
38766
38767         • Add --log-format flag for more control over log output (dcpu)
38768
38769         • rc: Add support for OPTIONS and basic CORS (frenos)
38770
38771         • stats: show FatalErrors and NoRetryErrors in stats (Cédric Connes)
38772
38773       • Bug Fixes
38774
38775         • Fix -P not ending with a new line (Nick Craig-Wood)
38776
38777         • config: don't create default config dir when user supplies --config
38778           (albertony)
38779
38780         • Don't  print  non-ASCII characters with --progress on windows (Nick
38781           Craig-Wood)
38782
38783         • Correct logs for excluded items (ssaqua)
38784
38785       • Mount
38786
38787         • Remove EXPERIMENTAL tags (Nick Craig-Wood)
38788
38789       • VFS
38790
38791         • Fix race condition detected by serve ftp tests (Nick Craig-Wood)
38792
38793         • Add vfs/poll-interval rc command (Fabian Möller)
38794
38795         • Enable rename for nearly all remotes using server-side Move or Copy
38796           (Nick Craig-Wood)
38797
38798         • Reduce directory cache cleared by poll-interval (Fabian Möller)
38799
38800         • Remove EXPERIMENTAL tags (Nick Craig-Wood)
38801
38802       • Local
38803
38804         • Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
38805
38806         • Preallocate   files   on  Windows  to  reduce  fragmentation  (Nick
38807           Craig-Wood)
38808
38809         • Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
38810
38811       • Cache
38812
38813         • Add cache/fetch rc function (Fabian Möller)
38814
38815         • Fix worker scale down (Fabian Möller)
38816
38817         • Improve performance by not sending info requests for cached  chunks
38818           (dcpu)
38819
38820         • Fix error return value of cache/fetch rc method (Fabian Möller)
38821
38822         • Documentation fix for cache-chunk-total-size (Anagh Kumar Baranwal)
38823
38824         • Preserve leading / in wrapped remote path (Fabian Möller)
38825
38826         • Add  plex_insecure  option  to  skip certificate validation (Fabian
38827           Möller)
38828
38829         • Remove entries that no longer exist in the source (dcpu)
38830
38831       • Crypt
38832
38833         • Preserve leading / in wrapped remote path (Fabian Möller)
38834
38835       • Alias
38836
38837         • Fix handling of Windows network paths (Nick Craig-Wood)
38838
38839       • Azure Blob
38840
38841         • Add --azureblob-list-chunk parameter (Santiago Rodríguez)
38842
38843         • Implemented settier command support on azureblob remote.  (sandeep‐
38844           kru)
38845
38846         • Work around SDK bug which causes errors for chunk-sized files (Nick
38847           Craig-Wood)
38848
38849       • Box
38850
38851         • Implement link sharing.  (Sebastian Bünger)
38852
38853       • Drive
38854
38855         • Add --drive-import-formats - google docs can now be imported (Fabi‐
38856           an Möller)
38857
38858           • Rewrite mime type and extension handling (Fabian Möller)
38859
38860           • Add document links (Fabian Möller)
38861
38862           • Add support for multipart document extensions (Fabian Möller)
38863
38864           • Add support for apps-script to json export (Fabian Möller)
38865
38866           • Fix escaped chars in documents during list (Fabian Möller)
38867
38868         • Add  --drive-v2-download-min-size  a  workaround for slow downloads
38869           (Fabian Möller)
38870
38871         • Improve directory notifications in ChangeNotify (Fabian Möller)
38872
38873         • When listing team drives  in  config,  continue  on  failure  (Nick
38874           Craig-Wood)
38875
38876       • FTP
38877
38878         • Add  a  small  pause after failed upload before deleting file (Nick
38879           Craig-Wood)
38880
38881       • Google Cloud Storage
38882
38883         • Fix service_account_file being ignored (Fabian Möller)
38884
38885       • Jottacloud
38886
38887         • Minor improvement in quota info (omit if unlimited) (albertony)
38888
38889         • Add --fast-list support (albertony)
38890
38891         • Add permanent delete support: --jottacloud-hard-delete (albertony)
38892
38893         • Add link sharing support (albertony)
38894
38895         • Fix handling of reserved characters.  (Sebastian Bünger)
38896
38897         • Fix socket leak on Object.Remove (Nick Craig-Wood)
38898
38899       • Onedrive
38900
38901         • Rework to support Microsoft Graph (Cnly)
38902
38903NB this will require re-authenticating the remote
38904
38905         • Removed upload cutoff and always do session uploads (Oliver Heyme)
38906
38907         • Use single-part upload for empty files (Cnly)
38908
38909         • Fix new fields not saved when editing old config (Alex Chen)
38910
38911         • Fix sometimes special chars in filenames not replaced (Alex Chen)
38912
38913         • Ignore OneNote files by default (Alex Chen)
38914
38915         • Add link sharing support (jackyzy823)
38916
38917       • S3
38918
38919         • Use custom  pacer,  to  retry  operations  when  reasonable  (Craig
38920           Miskell)
38921
38922         • Use  configured  server-side-encryption  and  storage class options
38923           when calling CopyObject() (Paul Kohout)
38924
38925         • Make --s3-v2-auth flag (Nick Craig-Wood)
38926
38927         • Fix v2 auth on files with spaces (Nick Craig-Wood)
38928
38929       • Union
38930
38931         • Implement union backend which reads from multiple  backends  (Felix
38932           Brucker)
38933
38934         • Implement  optional  interfaces  (Move,  DirMove, Copy, etc.) (Nick
38935           Craig-Wood)
38936
38937         • Fix ChangeNotify to support multiple remotes (Fabian Möller)
38938
38939         • Fix --backup-dir on union backend (Nick Craig-Wood)
38940
38941       • WebDAV
38942
38943         • Add another time format (Nick Craig-Wood)
38944
38945         • Add a small pause after failed upload before  deleting  file  (Nick
38946           Craig-Wood)
38947
38948         • Add workaround for missing mtime (buergi)
38949
38950         • Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
38951
38952       • Yandex
38953
38954         • Remove redundant nil checks (teresy)
38955
38956   v1.43.1 - 2018-09-07
38957       Point release to fix hubic and azureblob backends.
38958
38959       • Bug Fixes
38960
38961         • ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
38962
38963         • cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
38964
38965         • docs: Tidy website display (Anagh Kumar Baranwal)
38966
38967       • Azure Blob:
38968
38969         • Fix multi-part uploads.  (sandeepkru)
38970
38971       • Hubic
38972
38973         • Fix uploads (Nick Craig-Wood)
38974
38975         • Retry  auth  fetching if it fails to make hubic more reliable (Nick
38976           Craig-Wood)
38977
38978   v1.43 - 2018-09-01
38979       • New backends
38980
38981         • Jottacloud (Sebastian Bünger)
38982
38983       • New commands
38984
38985         • copyurl: copies a URL to a remote (Denis)
38986
38987       • New Features
38988
38989         • Reworked config for backends (Nick Craig-Wood)
38990
38991           • All backend config can now be supplied by command line,  env  var
38992             or config file
38993
38994           • Advanced section in the config wizard for the optional items
38995
38996           • A  large  step  towards  rclone backends being usable in other go
38997             software
38998
38999           • Allow on the fly remotes with :backend: syntax
39000
39001         • Stats revamp
39002
39003           • Add  --progress/-P  flag  to  show  interactive  progress   (Nick
39004             Craig-Wood)
39005
39006           • Show   the  total  progress  of  the  sync  in  the  stats  (Nick
39007             Craig-Wood)
39008
39009           • Add --stats-one-line flag for single line stats (Nick Craig-Wood)
39010
39011         • Added weekday schedule into --bwlimit (Mateusz)
39012
39013         • lsjson: Add option to show the original object IDs (Fabian Möller)
39014
39015         • serve webdav: Make Content-Type without reading the  file  and  add
39016           --etag-hash (Nick Craig-Wood)
39017
39018         • build
39019
39020           • Build macOS with native compiler (Nick Craig-Wood)
39021
39022           • Update to use go1.11 for the build (Nick Craig-Wood)
39023
39024         • rc
39025
39026           • Added core/stats to return the stats (reddi1)
39027
39028         • version --check: Prints the current release and beta versions (Nick
39029           Craig-Wood)
39030
39031       • Bug Fixes
39032
39033         • accounting
39034
39035           • Fix time to completion estimates (Nick Craig-Wood)
39036
39037           • Fix moving average speed for file stats (Nick Craig-Wood)
39038
39039         • config:  Fix  error  reading  password  from  piped   input   (Nick
39040           Craig-Wood)
39041
39042         • move:  Fix --delete-empty-src-dirs flag to delete all empty dirs on
39043           move (ishuah)
39044
39045       • Mount
39046
39047         • Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
39048
39049         • Fix mount --daemon not working with encrypted config (Alex Chen)
39050
39051         • Clip the number of blocks to 2^32-1 on macOS -  fixes  borg  backup
39052           (Nick Craig-Wood)
39053
39054       • VFS
39055
39056         • Enable vfs-read-chunk-size by default (Fabian Möller)
39057
39058         • Add the vfs/refresh rc command (Fabian Möller)
39059
39060         • Add non recursive mode to vfs/refresh rc command (Fabian Möller)
39061
39062         • Try to seek buffer on read only files (Fabian Möller)
39063
39064       • Local
39065
39066         • Fix  crash when deprecated --local-no-unicode-normalization is sup‐
39067           plied (Nick Craig-Wood)
39068
39069         • Fix mkdir error when trying to copy files to the root of a drive on
39070           windows (Nick Craig-Wood)
39071
39072       • Cache
39073
39074         • Fix  nil  pointer deref when using lsjson on cached directory (Nick
39075           Craig-Wood)
39076
39077         • Fix nil pointer  deref  for  occasional  crash  on  playback  (Nick
39078           Craig-Wood)
39079
39080       • Crypt
39081
39082         • Fix accounting when checking hashes on upload (Nick Craig-Wood)
39083
39084       • Amazon Cloud Drive
39085
39086         • Make  very  clear  in  the  docs  that rclone has no ACD keys (Nick
39087           Craig-Wood)
39088
39089       • Azure Blob
39090
39091         • Add connection string and SAS URL auth (Nick Craig-Wood)
39092
39093         • List the container to see if it exists (Nick Craig-Wood)
39094
39095         • Port new Azure Blob Storage SDK (sandeepkru)
39096
39097         • Added blob tier, tier between Hot, Cool and Archive.  (sandeepkru)
39098
39099         • Remove leading / from paths (Nick Craig-Wood)
39100
39101       • B2
39102
39103         • Support Application Keys (Nick Craig-Wood)
39104
39105         • Remove leading / from paths (Nick Craig-Wood)
39106
39107       • Box
39108
39109         • Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
39110
39111         • Make --box-commit-retries flag defaulting to 100 to fix  large  up‐
39112           loads (Nick Craig-Wood)
39113
39114       • Drive
39115
39116         • Add --drive-keep-revision-forever flag (lewapm)
39117
39118         • Handle gdocs when filtering file names in list (Fabian Möller)
39119
39120         • Support using --fast-list for large speedups (Fabian Möller)
39121
39122       • FTP
39123
39124         • Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
39125
39126       • Google Cloud Storage
39127
39128         • Fix index out of range error with --fast-list (Nick Craig-Wood)
39129
39130       • Jottacloud
39131
39132         • Fix MD5 error check (Oliver Heyme)
39133
39134         • Handle empty time values (Martin Polden)
39135
39136         • Calculate missing MD5s (Oliver Heyme)
39137
39138         • Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
39139
39140         • Add optional MimeTyper interface.  (Sebastian Bünger)
39141
39142         • Implement  optional  About  interface (for df support).  (Sebastian
39143           Bünger)
39144
39145       • Mega
39146
39147         • Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
39148
39149         • Add --mega-hard-delete flag (Nick Craig-Wood)
39150
39151         • Fix failed logins with upper case chars in email (Nick Craig-Wood)
39152
39153       • Onedrive
39154
39155         • Shared folder support (Yoni Jah)
39156
39157         • Implement DirMove (Cnly)
39158
39159         • Fix  rmdir  sometimes  deleting  directories  with  contents  (Nick
39160           Craig-Wood)
39161
39162       • Pcloud
39163
39164         • Delete half uploaded files on upload error (Nick Craig-Wood)
39165
39166       • Qingstor
39167
39168         • Remove leading / from paths (Nick Craig-Wood)
39169
39170       • S3
39171
39172         • Fix index out of range error with --fast-list (Nick Craig-Wood)
39173
39174         • Add --s3-force-path-style (Nick Craig-Wood)
39175
39176         • Add support for KMS Key ID (bsteiss)
39177
39178         • Remove leading / from paths (Nick Craig-Wood)
39179
39180       • Swift
39181
39182         • Add storage_policy (Ruben Vandamme)
39183
39184         • Make  it  so just storage_url or auth_token can be overridden (Nick
39185           Craig-Wood)
39186
39187         • Fix server-side copy bug for unusual file names (Nick Craig-Wood)
39188
39189         • Remove leading / from paths (Nick Craig-Wood)
39190
39191       • WebDAV
39192
39193         • Ensure we call MKCOL with a URL with a trailing / for QNAP  interop
39194           (Nick Craig-Wood)
39195
39196         • If  root  ends  with  /  then  don't  check  if  it is a file (Nick
39197           Craig-Wood)
39198
39199         • Don't accept redirects when reading metadata (Nick Craig-Wood)
39200
39201         • Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
39202
39203         • Document dCache and Macaroons (Onno Zweers)
39204
39205         • Sharepoint recursion with different depth (Henning)
39206
39207         • Attempt to remove failed uploads (Nick Craig-Wood)
39208
39209       • Yandex
39210
39211         • Fix listing/deleting files in the root (Nick Craig-Wood)
39212
39213   v1.42 - 2018-06-16
39214       • New backends
39215
39216         • OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
39217
39218       • New commands
39219
39220         • deletefile command (Filip Bartodziej)
39221
39222       • New Features
39223
39224         • copy, move: Copy single  files  directly,  don't  use  --files-from
39225           work-around
39226
39227           • this makes them much more efficient
39228
39229         • Implement --max-transfer flag to quit transferring at a limit
39230
39231           • make exit code 8 for --max-transfer exceeded
39232
39233         • copy: copy empty source directories to destination (Ishuah Kariuki)
39234
39235         • check: Add --one-way flag (Kasper Byrdal Nielsen)
39236
39237         • Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
39238
39239         • rc
39240
39241           • add core/gc to run a garbage collection on demand
39242
39243           • enable go profiling by default on the --rc port
39244
39245           • return error from remote on failure
39246
39247         • lsf
39248
39249           • Add --absolute flag to add a leading / onto path names
39250
39251           • Add --csv flag for compliant CSV output
39252
39253           • Add 'm' format specifier to show the MimeType
39254
39255           • Implement 'i' format for showing object ID
39256
39257         • lsjson
39258
39259           • Add MimeType to the output
39260
39261           • Add ID field to output to show Object ID
39262
39263         • Add --retries-sleep flag (Benjamin Joseph Dag)
39264
39265         • Oauth tidy up web page and error handling (Henning Surmeier)
39266
39267       • Bug Fixes
39268
39269         • Password  prompt  output with --log-file fixed for unix (Filip Bar‐
39270           todziej)
39271
39272         • Calculate ModifyWindow each time on the fly to fix various problems
39273           (Stefan Breunig)
39274
39275       • Mount
39276
39277         • Only  print "File.rename error" if there actually is an error (Ste‐
39278           fan Breunig)
39279
39280         • Delay rename if file has open writers instead of  failing  outright
39281           (Stefan Breunig)
39282
39283         • Ensure atexit gets run on interrupt
39284
39285         • macOS enhancements
39286
39287           • Make --noappledouble --noapplexattr
39288
39289           • Add --volname flag and remove special chars from it
39290
39291           • Make Get/List/Set/Remove xattr return ENOSYS for efficiency
39292
39293           • Make --daemon work for macOS without CGO
39294
39295       • VFS
39296
39297         • Add  --vfs-read-chunk-size  and --vfs-read-chunk-size-limit (Fabian
39298           Möller)
39299
39300         • Fix ChangeNotify for new or changed folders (Fabian Möller)
39301
39302       • Local
39303
39304         • Fix symlink/junction point directory handling under Windows
39305
39306NB you will need to add -L to your command  line  to  copy  files
39307             with reparse points
39308
39309       • Cache
39310
39311         • Add non cached dirs on notifications (Remus Bunduc)
39312
39313         • Allow root to be expired from rc (Remus Bunduc)
39314
39315         • Clean remaining empty folders from temp upload path (Remus Bunduc)
39316
39317         • Cache lists using batch writes (Remus Bunduc)
39318
39319         • Use secure websockets for HTTPS Plex addresses (John Clayton)
39320
39321         • Reconnect plex websocket on failures (Remus Bunduc)
39322
39323         • Fix panic when running without plex configs (Remus Bunduc)
39324
39325         • Fix root folder caching (Remus Bunduc)
39326
39327       • Crypt
39328
39329         • Check the crypted hash of files when uploading for extra data secu‐
39330           rity
39331
39332       • Dropbox
39333
39334         • Make Dropbox for business folders accessible using an initial /  in
39335           the path
39336
39337       • Google Cloud Storage
39338
39339         • Low level retry all operations if necessary
39340
39341       • Google Drive
39342
39343         • Add --drive-acknowledge-abuse to download flagged files
39344
39345         • Add --drive-alternate-export to fix large doc export
39346
39347         • Don't attempt to choose Team Drives when using rclone config create
39348
39349         • Fix change list polling with team drives
39350
39351         • Fix ChangeNotify for folders (Fabian Möller)
39352
39353         • Fix about (and df on a mount) for team drives
39354
39355       • Onedrive
39356
39357         • Errorhandler for onedrive for business requests (Henning Surmeier)
39358
39359       • S3
39360
39361         • Adjust upload concurrency with --s3-upload-concurrency (themylogin)
39362
39363         • Fix --s3-chunk-size which was always using the minimum
39364
39365       • SFTP
39366
39367         • Add --ssh-path-override flag (Piotr Oleszczyk)
39368
39369         • Fix slow downloads for long latency connections
39370
39371       • Webdav
39372
39373         • Add workarounds for biz.mail.ru
39374
39375         • Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
39376
39377         • Better error message generation
39378
39379   v1.41 - 2018-04-28
39380       • New backends
39381
39382         • Mega support added
39383
39384         • Webdav now supports SharePoint cookie authentication (hensur)
39385
39386       • New commands
39387
39388         • link: create public link to files and folders (Stefan Breunig)
39389
39390         • about: gets quota info from a remote (a-roussos, ncw)
39391
39392         • hashsum: a generic tool for any hash to produce md5sum like output
39393
39394       • New Features
39395
39396         • lsd: Add -R flag and fix and update docs for all ls commands
39397
39398         • ncdu: added a "refresh" key - CTRL-L (Keith Goldfarb)
39399
39400         • serve restic: Add append-only mode (Steve Kriss)
39401
39402         • serve restic: Disallow overwriting files in append-only mode (Alex‐
39403           ander Neumann)
39404
39405         • serve restic: Print actual listener address (Matt Holt)
39406
39407         • size: Add --json flag (Matthew Holt)
39408
39409         • sync: implement --ignore-errors (Mateusz Pabian)
39410
39411         • dedupe: Add dedupe largest functionality (Richard Yang)
39412
39413         • fs: Extend SizeSuffix to include TB and PB for rclone about
39414
39415         • fs: add --dump goroutines and --dump openfiles for debugging
39416
39417         • rc: implement core/memstats to print internal memory usage info
39418
39419         • rc: new call rc/pid (Michael P.  Dubner)
39420
39421       • Compile
39422
39423         • Drop support for go1.6
39424
39425       • Release
39426
39427         • Fix make tarball (Chih-Hsuan Yen)
39428
39429       • Bug Fixes
39430
39431         • filter: fix --min-age and --max-age together check
39432
39433         • fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
39434
39435         • lsd,lsf: make sure all times we output are in local time
39436
39437         • rc: fix setting bwlimit to unlimited
39438
39439         • rc: take note of the --rc-addr flag too as per the docs
39440
39441       • Mount
39442
39443         • Use About to return the correct disk total/used/free (e.g.  in df)
39444
39445         • Set --attr-timeout default to 1s - fixes:
39446
39447           • rclone using too much memory
39448
39449           • rclone not serving files to samba
39450
39451           • excessive time listing directories
39452
39453         • Fix df -i (upstream fix)
39454
39455       • VFS
39456
39457         • Filter files . and .. from directory listing
39458
39459         • Only make the VFS cache if --vfs-cache-mode > Off
39460
39461       • Local
39462
39463         • Add --local-no-check-updated to disable updated file checks
39464
39465         • Retry remove on Windows sharing violation error
39466
39467       • Cache
39468
39469         • Flush the memory cache after close
39470
39471         • Purge file data on notification
39472
39473         • Always forget parent dir for notifications
39474
39475         • Integrate with Plex websocket
39476
39477         • Add rc cache/stats (seuffert)
39478
39479         • Add info log on notification
39480
39481       • Box
39482
39483         • Fix failure reading large directories - parse  file/directory  size
39484           as float
39485
39486       • Dropbox
39487
39488         • Fix crypt+obfuscate on dropbox
39489
39490         • Fix repeatedly uploading the same files
39491
39492       • FTP
39493
39494         • Work around strange response from box FTP server
39495
39496         • More workarounds for FTP servers to fix mkParentDir error
39497
39498         • Fix no error on listing non-existent directory
39499
39500       • Google Cloud Storage
39501
39502         • Add service_account_credentials (Matt Holt)
39503
39504         • Detect bucket presence by listing it - minimises permissions needed
39505
39506         • Ignore zero length directory markers
39507
39508       • Google Drive
39509
39510         • Add service_account_credentials (Matt Holt)
39511
39512         • Fix directory move leaving a hardlinked directory behind
39513
39514         • Return proper google errors when Opening files
39515
39516         • When  initialized with a filepath, optional features used incorrect
39517           root path (Stefan Breunig)
39518
39519       • HTTP
39520
39521         • Fix sync for servers which don't return Content-Length in HEAD
39522
39523       • Onedrive
39524
39525         • Add QuickXorHash support for OneDrive for business
39526
39527         • Fix socket leak in multipart session upload
39528
39529       • S3
39530
39531         • Look in S3 named profile files for credentials
39532
39533         • Add --s3-disable-checksum to disable checksum uploading (Chris  Re‐
39534           dekop)
39535
39536         • Hierarchical configuration support (Giri Badanahatti)
39537
39538         • Add in config for all the supported S3 providers
39539
39540         • Add One Zone Infrequent Access storage class (Craig Rachel)
39541
39542         • Add --use-server-modtime support (Peter Baumgartner)
39543
39544         • Add --s3-chunk-size option to control multipart uploads
39545
39546         • Ignore zero length directory markers
39547
39548       • SFTP
39549
39550         • Update  docs to match code, fix typos and clarify disable_hashcheck
39551           prompt (Michael G.  Noll)
39552
39553         • Update docs with Synology quirks
39554
39555         • Fail soft with a debug on hash failure
39556
39557       • Swift
39558
39559         • Add --use-server-modtime support (Peter Baumgartner)
39560
39561       • Webdav
39562
39563         • Support SharePoint cookie authentication (hensur)
39564
39565         • Strip leading and trailing / off root
39566
39567   v1.40 - 2018-03-19
39568       • New backends
39569
39570         • Alias backend to create aliases for existing remote  names  (Fabian
39571           Möller)
39572
39573       • New commands
39574
39575         • lsf: list for parsing purposes (Jakub Tasiemski)
39576
39577           • by  default  this is a simple non recursive list of files and di‐
39578             rectories
39579
39580           • it can be configured to add more info in an easy to parse way
39581
39582         • serve restic: for serving a remote as a Restic REST endpoint
39583
39584           • This enables restic to use any backends that rclone can access
39585
39586           • Thanks Alexander Neumann for help, patches and review
39587
39588         • rc: enable the remote control of a running rclone
39589
39590           • The running rclone must be started with --rc and related flags.
39591
39592           • Currently there is support for bwlimit, and  flushing  for  mount
39593             and cache.
39594
39595       • New Features
39596
39597         • --max-delete flag to add a delete threshold (Bjørn Erik Pedersen)
39598
39599         • All backends now support RangeOption for ranged Open
39600
39601           • cat: Use RangeOption for limited fetches to make more efficient
39602
39603           • cryptcheck: make reading of nonce more efficient with RangeOption
39604
39605         • serve http/webdav/restic
39606
39607           • support SSL/TLS
39608
39609           • add --user --pass and --htpasswd for authentication
39610
39611         • copy/move:  detect  file  size  change  during  copy/move and abort
39612           transfer (ishuah)
39613
39614         • cryptdecode: added option to return encrypted file names.  (ishuah)
39615
39616         • lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
39617
39618         • Add --stats-file-name-length  to  specify  the  printed  file  name
39619           length for stats (Will Gunn)
39620
39621       • Compile
39622
39623         • Code base was shuffled and factored
39624
39625           • backends moved into a backend directory
39626
39627           • large packages split up
39628
39629           • See the CONTRIBUTING.md doc for info as to what lives where now
39630
39631         • Update to using go1.10 as the default go version
39632
39633         • Implement  daily full integration tests (https://pub.rclone.org/in
39634           tegration-tests/)
39635
39636       • Release
39637
39638         • Include a source tarball and sign it and the binaries
39639
39640         • Sign the git tags as part of the release process
39641
39642         • Add .deb and .rpm packages as part of the build
39643
39644         • Make a beta release for all branches on the main repo (but not pull
39645           requests)
39646
39647       • Bug Fixes
39648
39649         • config:  fixes errors on non existing config by loading config file
39650           only on first access
39651
39652         • config: retry saving the config after failure (Mateusz)
39653
39654         • sync: when using --backup-dir don't delete files if  we  can't  set
39655           their modtime
39656
39657           • this fixes odd behaviour with Dropbox and --backup-dir
39658
39659         • fshttp: fix idle timeouts for HTTP connections
39660
39661         • serve http: fix serving files with : in - fixes
39662
39663         • Fix  --exclude-if-present  to  ignore  directories which it doesn't
39664           have permission for (Iakov Davydov)
39665
39666         • Make accounting work properly with crypt and b2
39667
39668         • remove --no-traverse flag because it is obsolete
39669
39670       • Mount
39671
39672         • Add --attr-timeout flag to control attribute caching in kernel
39673
39674           • this now defaults to 0 which is correct but less efficient
39675
39676           • see the mount docs (https://rclone.org/commands/rclone_mount/#at‐
39677             tribute-caching) for more info
39678
39679         • Add --daemon flag to allow mount to run in the background (ishuah)
39680
39681         • Fix: Return ENOSYS rather than EIO on attempted link
39682
39683           • This fixes FileZilla accessing an rclone mount served over sftp.
39684
39685         • Fix setting modtime twice
39686
39687         • Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
39688
39689         • Many bugs fixed in the VFS layer - see below
39690
39691       • VFS
39692
39693         • Many fixes for --vfs-cache-mode writes and above
39694
39695           • Update cached copy if we know it has changed (fixes stale data)
39696
39697           • Clean path names before using them in the cache
39698
39699           • Disable cache cleaner if --vfs-cache-poll-interval=0
39700
39701           • Fill and clean the cache immediately on startup
39702
39703         • Fix Windows opening every file when it stats the file
39704
39705         • Fix applying modtime for an open Write Handle
39706
39707         • Fix creation of files when truncating
39708
39709         • Write  0 bytes when flushing unwritten handles to avoid race condi‐
39710           tions in FUSE
39711
39712         • Downgrade "poll-interval is not supported" message to Info
39713
39714         • Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
39715
39716       • Local
39717
39718         • Downgrade "invalid cross-device link: trying copy" to debug
39719
39720         • Make DirMove return fs.ErrorCantDirMove to allow fallback  to  Copy
39721           for cross device
39722
39723         • Fix race conditions updating the hashes
39724
39725       • Cache
39726
39727         • Add  support for polling - cache will update when remote changes on
39728           supported backends
39729
39730         • Reduce log level for Plex api
39731
39732         • Fix dir cache issue
39733
39734         • Implement --cache-db-wait-time flag
39735
39736         • Improve efficiency with RangeOption and RangeSeek
39737
39738         • Fix dirmove with temp fs enabled
39739
39740         • Notify vfs when using temp fs
39741
39742         • Offline uploading
39743
39744         • Remote control support for path flushing
39745
39746       • Amazon cloud drive
39747
39748         • Rclone no longer has any working keys - disable integration tests
39749
39750         • Implement DirChangeNotify to notify cache/vfs/mount of changes
39751
39752       • Azureblob
39753
39754         • Don't check for bucket/container presence if listing was OK
39755
39756           • this makes rclone do one less request per invocation
39757
39758         • Improve accounting for chunked uploads
39759
39760       • Backblaze B2
39761
39762         • Don't check for bucket/container presence if listing was OK
39763
39764           • this makes rclone do one less request per invocation
39765
39766       • Box
39767
39768         • Improve accounting for chunked uploads
39769
39770       • Dropbox
39771
39772         • Fix custom oauth client parameters
39773
39774       • Google Cloud Storage
39775
39776         • Don't check for bucket/container presence if listing was OK
39777
39778           • this makes rclone do one less request per invocation
39779
39780       • Google Drive
39781
39782         • Migrate to api v3 (Fabian Möller)
39783
39784         • Add scope configuration and root folder selection
39785
39786         • Add --drive-impersonate for service accounts
39787
39788           • thanks to everyone who tested, explored and contributed docs
39789
39790         • Add --drive-use-created-date to use created date as  modified  date
39791           (nbuchanan)
39792
39793         • Request the export formats only when required
39794
39795           • This makes rclone quicker when there are no google docs
39796
39797         • Fix finding paths with latin1 chars (a workaround for a drive bug)
39798
39799         • Fix copying of a single Google doc file
39800
39801         • Fix --drive-auth-owner-only to look in all directories
39802
39803       • HTTP
39804
39805         • Fix handling of directories with & in
39806
39807       • Onedrive
39808
39809         • Removed upload cutoff and always do session uploads
39810
39811           • this stops the creation of multiple versions on business onedrive
39812
39813         • Overwrite  object  size  value  with  real  size when reading file.
39814           (Victor)
39815
39816           • this fixes oddities when onedrive misreports the size of images
39817
39818       • Pcloud
39819
39820         • Remove unused chunked upload flag and code
39821
39822       • Qingstor
39823
39824         • Don't check for bucket/container presence if listing was OK
39825
39826           • this makes rclone do one less request per invocation
39827
39828       • S3
39829
39830         • Support hashes for multipart files (Chris Redekop)
39831
39832         • Initial support for IBM COS (S3) (Giri Badanahatti)
39833
39834         • Update docs to discourage use of v2 auth with CEPH and others
39835
39836         • Don't check for bucket/container presence if listing was OK
39837
39838           • this makes rclone do one less request per invocation
39839
39840         • Fix server-side copy and set modtime on files with + in
39841
39842       • SFTP
39843
39844         • Add option to disable remote  hash  check  command  execution  (Jon
39845           Fautley)
39846
39847         • Add  --sftp-ask-password  flag  to  prompt for password when needed
39848           (Leo R.  Lundgren)
39849
39850         • Add set_modtime configuration option
39851
39852         • Fix following of symlinks
39853
39854         • Fix reading config file outside of Fs setup
39855
39856         • Fix reading $USER in username fallback not $HOME
39857
39858         • Fix running under crontab - Use correct OS way of reading username
39859
39860       • Swift
39861
39862         • Fix refresh of authentication token
39863
39864           • in v1.39 a bug was introduced which ignored  new  tokens  -  this
39865             fixes it
39866
39867         • Fix extra HEAD transaction when uploading a new file
39868
39869         • Don't check for bucket/container presence if listing was OK
39870
39871           • this makes rclone do one less request per invocation
39872
39873       • Webdav
39874
39875         • Add new time formats to support mydrive.ch and others
39876
39877   v1.39 - 2017-12-23
39878       • New backends
39879
39880         • WebDAV
39881
39882           • tested with nextcloud, owncloud, put.io and others!
39883
39884         • Pcloud
39885
39886         • cache - wraps a cache around other backends (Remus Bunduc)
39887
39888           • useful in combination with mount
39889
39890           • NB this feature is in beta so use with care
39891
39892       • New commands
39893
39894         • serve command with subcommands:
39895
39896           • serve  webdav: this implements a webdav server for any rclone re‐
39897             mote.
39898
39899           • serve http: command to serve a remote over HTTP
39900
39901         • config: add sub commands for full config file management
39902
39903           • create/delete/dump/edit/file/password/providers/show/update
39904
39905         • touch: to create or update the timestamp of a file (Jakub  Tasiems‐
39906           ki)
39907
39908       • New Features
39909
39910         • curl install for rclone (Filip Bartodziej)
39911
39912         • --stats  now shows percentage, size, rate and ETA in condensed form
39913           (Ishuah Kariuki)
39914
39915         • --exclude-if-present to exclude a directory if a  file  is  present
39916           (Iakov Davydov)
39917
39918         • rmdirs: add --leave-root flag (lewapm)
39919
39920         • move:  add  --delete-empty-src-dirs  flag to remove dirs after move
39921           (Ishuah Kariuki)
39922
39923         • Add --dump flag, introduce --dump requests,  responses  and  remove
39924           --dump-auth, --dump-filters
39925
39926           • Obscure X-Auth-Token: from headers when dumping too
39927
39928         • Document  and  implement  exit  codes  for  different failure modes
39929           (Ishuah Kariuki)
39930
39931       • Compile
39932
39933       • Bug Fixes
39934
39935         • Retry lots more different types of errors to make multipart  trans‐
39936           fers more reliable
39937
39938         • Save the config before asking for a token, fixes disappearing oauth
39939           config
39940
39941         • Warn the user if --include and --exclude are used together  (Ernest
39942           Borowski)
39943
39944         • Fix duplicate files (e.g.  on Google drive) causing spurious copies
39945
39946         • Allow trailing and leading whitespace for passwords (Jason Rose)
39947
39948         • ncdu: fix crashes on empty directories
39949
39950         • rcat: fix goroutine leak
39951
39952         • moveto/copyto: Fix to allow copying to the same name
39953
39954       • Mount
39955
39956         • --vfs-cache mode to make writes into mounts more reliable.
39957
39958           • this requires caching files on the disk (see --cache-dir)
39959
39960           • As this is a new feature, use with care
39961
39962         • Use sdnotify to signal systemd the mount is ready (Fabian Möller)
39963
39964         • Check if directory is not empty before mounting (Ernest Borowski)
39965
39966       • Local
39967
39968         • Add error message for cross file system moves
39969
39970         • Fix equality check for times
39971
39972       • Dropbox
39973
39974         • Rework multipart upload
39975
39976           • buffer  the  chunks when uploading large files so they can be re‐
39977             tried
39978
39979           • change default chunk size to 48MB now we are  buffering  them  in
39980             memory
39981
39982           • retry every error after the first chunk is done successfully
39983
39984         • Fix error when renaming directories
39985
39986       • Swift
39987
39988         • Fix crash on bad authentication
39989
39990       • Google Drive
39991
39992         • Add service account support (Tim Cooijmans)
39993
39994       • S3
39995
39996         • Make   it   work   properly   with  Digital  Ocean  Spaces  (Andrew
39997           Starr-Bochicchio)
39998
39999         • Fix crash if a bad listing is received
40000
40001         • Add support for ECS task IAM roles (David Minor)
40002
40003       • Backblaze B2
40004
40005         • Fix multipart upload retries
40006
40007         • Fix --hard-delete to make it work 100% of the time
40008
40009       • Swift
40010
40011         • Allow authentication with storage URL and auth key (Giovanni Pizzi)
40012
40013         • Add new fields for swift configuration to support IBM Bluemix Swift
40014           (Pierre Carlson)
40015
40016         • Add OS_TENANT_ID and OS_USER_ID to config
40017
40018         • Allow configs with user id instead of user name
40019
40020         • Check  if  swift  segments  container  exists before creating (John
40021           Leach)
40022
40023         • Fix memory leak in swift transfers (upstream fix)
40024
40025       • SFTP
40026
40027         • Add option to enable the use of aes128-cbc cipher (Jon Fautley)
40028
40029       • Amazon cloud drive
40030
40031         • Fix download of large files failing with "Only one  auth  mechanism
40032           allowed"
40033
40034       • crypt
40035
40036         • Option to encrypt directory names or leave them intact
40037
40038         • Implement DirChangeNotify (Fabian Möller)
40039
40040       • onedrive
40041
40042         • Add  option to choose resourceURL during setup of OneDrive Business
40043           account if more than one is available for user
40044
40045   v1.38 - 2017-09-30
40046       • New backends
40047
40048         • Azure Blob Storage (thanks Andrei Dragomir)
40049
40050         • Box
40051
40052         • Onedrive for Business (thanks Oliver Heyme)
40053
40054         • QingStor from QingCloud (thanks wuyu)
40055
40056       • New commands
40057
40058         • rcat - read from standard input and stream upload
40059
40060         • tree - shows a nicely formatted recursive listing
40061
40062         • cryptdecode - decode crypted file names (thanks ishuah)
40063
40064         • config show - print the config file
40065
40066         • config file - print the config file location
40067
40068       • New Features
40069
40070         • Empty directories are deleted on sync
40071
40072         • dedupe - implement merging of duplicate directories
40073
40074         • check and cryptcheck made more consistent and use less memory
40075
40076         • cleanup for remaining remotes (thanks ishuah)
40077
40078         • --immutable for ensuring that files don't change (thanks Jacob  Mc‐
40079           Namee)
40080
40081         • --user-agent option (thanks Alex McGrath Kraak)
40082
40083         • --disable flag to disable optional features
40084
40085         • --bind flag for choosing the local addr on outgoing connections
40086
40087         • Support for zsh auto-completion (thanks bpicode)
40088
40089         • Stop normalizing file names but do a normalized compare in sync
40090
40091       • Compile
40092
40093         • Update to using go1.9 as the default go version
40094
40095         • Remove snapd build due to maintenance problems
40096
40097       • Bug Fixes
40098
40099         • Improve  retriable  error  detection  which makes multipart uploads
40100           better
40101
40102         • Make check obey --ignore-size
40103
40104         • Fix bwlimit toggle in conjunction with schedules (thanks cbruegg)
40105
40106         • config ensures newly written config is on the same mount
40107
40108       • Local
40109
40110         • Revert to copy when moving file across file system boundaries
40111
40112         • --skip-links to suppress symlink warnings (thanks Zhiming Wang)
40113
40114       • Mount
40115
40116         • Re-use rcat internals to support uploads from all remotes
40117
40118       • Dropbox
40119
40120         • Fix "entry doesn't belong in directory" error
40121
40122         • Stop using deprecated API methods
40123
40124       • Swift
40125
40126         • Fix server-side copy to empty container with --fast-list
40127
40128       • Google Drive
40129
40130         • Change the default for --drive-use-trash to true
40131
40132       • S3
40133
40134         • Set session token when using STS (thanks Girish Ramakrishnan)
40135
40136         • Glacier docs and error messages (thanks Jan Varho)
40137
40138         • Read 1000 (not 1024) items in dir listings to fix Wasabi
40139
40140       • Backblaze B2
40141
40142         • Fix SHA1 mismatch when downloading files with no SHA1
40143
40144         • Calculate missing hashes on the fly instead of spooling
40145
40146         • --b2-hard-delete to permanently delete  (not  hide)  files  (thanks
40147           John Papandriopoulos)
40148
40149       • Hubic
40150
40151         • Fix  creating  containers  - no longer have to use the default con‐
40152           tainer
40153
40154       • Swift
40155
40156         • Optionally configure from a standard set of  OpenStack  environment
40157           vars
40158
40159         • Add endpoint_type config
40160
40161       • Google Cloud Storage
40162
40163         • Fix bucket creation to work with limited permission users
40164
40165       • SFTP
40166
40167         • Implement connection pooling for multiple ssh connections
40168
40169         • Limit new connections per second
40170
40171         • Add  support for MD5 and SHA1 hashes where available (thanks Chris‐
40172           tian Brüggemann)
40173
40174       • HTTP
40175
40176         • Fix URL encoding issues
40177
40178         • Fix directories with : in
40179
40180         • Fix panic with URL encoded content
40181
40182   v1.37 - 2017-07-22
40183       • New backends
40184
40185         • FTP - thanks to Antonio Messina
40186
40187         • HTTP - thanks to Vasiliy Tolstov
40188
40189       • New commands
40190
40191         • rclone ncdu - for exploring a remote with a text based user  inter‐
40192           face.
40193
40194         • rclone lsjson - for listing with a machine readable output
40195
40196         • rclone  dbhashsum - to show Dropbox style hashes of files (local or
40197           Dropbox)
40198
40199       • New Features
40200
40201         • Implement --fast-list flag
40202
40203           • This allows remotes to list recursively if they can
40204
40205           • This uses less transactions (important if you pay for them)
40206
40207           • This may or may not be quicker
40208
40209           • This will use more memory as it has to hold the listing in memory
40210
40211           • --old-sync-method deprecated - the remaining uses are covered  by
40212             --fast-list
40213
40214           • This involved a major re-write of all the listing code
40215
40216         • Add  --tpslimit and --tpslimit-burst to limit transactions per sec‐
40217           ond
40218
40219           • this is useful in conjunction with rclone mount to limit external
40220             apps
40221
40222         • Add --stats-log-level so can see --stats without -v
40223
40224         • Print password prompts to stderr - Hraban Luyat
40225
40226         • Warn about duplicate files when syncing
40227
40228         • Oauth improvements
40229
40230           • allow auth_url and token_url to be set in the config file
40231
40232           • Print redirection URI if using own credentials.
40233
40234         • Don't Mkdir at the start of sync to save transactions
40235
40236       • Compile
40237
40238         • Update build to go1.8.3
40239
40240         • Require go1.6 for building rclone
40241
40242         • Compile 386 builds with "GO386=387" for maximum compatibility
40243
40244       • Bug Fixes
40245
40246         • Fix menu selection when no remotes
40247
40248         • Config saving reworked to not kill the file if disk gets full
40249
40250         • Don't delete remote if name does not change while renaming
40251
40252         • moveto, copyto: report transfers and checks as per move and copy
40253
40254       • Local
40255
40256         • Add --local-no-unicode-normalization flag - Bob Potter
40257
40258       • Mount
40259
40260         • Now  supported on Windows using cgofuse and WinFsp - thanks to Bill
40261           Zissimopoulos for much help
40262
40263         • Compare checksums on upload/download via FUSE
40264
40265         • Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -  Jérôme
40266           Vizcaino
40267
40268         • On read only open of file, make open pending until first read
40269
40270         • Make --read-only reject modify operations
40271
40272         • Implement ModTime via FUSE for remotes that support it
40273
40274         • Allow modTime to be changed even before all writers are closed
40275
40276         • Fix panic on renames
40277
40278         • Fix hang on errored upload
40279
40280       • Crypt
40281
40282         • Report the name:root as specified by the user
40283
40284         • Add an "obfuscate" option for filename encryption - Stephen Harris
40285
40286       • Amazon Drive
40287
40288         • Fix initialization order for token renewer
40289
40290         • Remove  revoked  credentials,  allow  oauth proxy config and update
40291           docs
40292
40293       • B2
40294
40295         • Reduce minimum chunk size to 5MB
40296
40297       • Drive
40298
40299         • Add team drive support
40300
40301         • Reduce bandwidth by adding fields for partial  responses  -  Martin
40302           Kristensen
40303
40304         • Implement  --drive-shared-with-me flag to view shared with me files
40305           - Danny Tsai
40306
40307         • Add --drive-trashed-only to read only the files in the trash
40308
40309         • Remove obsolete --drive-full-list
40310
40311         • Add missing seek to start on retries of chunked uploads
40312
40313         • Fix stats accounting for upload
40314
40315         • Convert / in names to a unicode equivalent (/)
40316
40317         • Poll for Google Drive changes when mounted
40318
40319       • OneDrive
40320
40321         • Fix the uploading of files with spaces
40322
40323         • Fix initialization order for token renewer
40324
40325         • Display speeds accurately when uploading - Yoni Jah
40326
40327         • Swap to using http://localhost:53682/ as  redirect  URL  -  Michael
40328           Ledin
40329
40330         • Retry on token expired error, reset upload body on retry - Yoni Jah
40331
40332       • Google Cloud Storage
40333
40334         • Add  ability  to  specify location and storage class via config and
40335           command line - thanks gdm85
40336
40337         • Create container if necessary on server-side copy
40338
40339         • Increase directory listing chunk to 1000 to increase performance
40340
40341         • Obtain a refresh token for GCS - Steven Lu
40342
40343       • Yandex
40344
40345         • Fix the name reported in log messages (was empty)
40346
40347         • Correct error return for listing empty directory
40348
40349       • Dropbox
40350
40351         • Rewritten to use the v2 API
40352
40353           • Now supports ModTime
40354
40355             • Can only set by uploading the file again
40356
40357             • If you uploaded with an old rclone, rclone  may  upload  every‐
40358               thing again
40359
40360             • Use --size-only or --checksum to avoid this
40361
40362           • Now supports the Dropbox content hashing scheme
40363
40364           • Now supports low level retries
40365
40366       • S3
40367
40368         • Work around eventual consistency in bucket creation
40369
40370         • Create container if necessary on server-side copy
40371
40372         • Add  us-east-2  (Ohio)  and  eu-west-2 (London) S3 regions - Zahiar
40373           Ahmed
40374
40375       • Swift, Hubic
40376
40377         • Fix zero length directory markers showing in the subdirectory list‐
40378           ing
40379
40380           • this caused lots of duplicate transfers
40381
40382         • Fix paged directory listings
40383
40384           • this caused duplicate directory errors
40385
40386         • Create container if necessary on server-side copy
40387
40388         • Increase directory listing chunk to 1000 to increase performance
40389
40390         • Make sensible error if the user forgets the container
40391
40392       • SFTP
40393
40394         • Add support for using ssh key files
40395
40396         • Fix under Windows
40397
40398         • Fix ssh agent on Windows
40399
40400         • Adapt to latest version of library - Igor Kharin
40401
40402   v1.36 - 2017-03-18
40403       • New Features
40404
40405         • SFTP remote (Jack Schmidt)
40406
40407         • Re-implement  sync  routine  to work a directory at a time reducing
40408           memory usage
40409
40410         • Logging revamped to be more inline with rsync - now much quieter  *
40411           -v  only  shows transfers * -vv is for full debug * --syslog to log
40412           to syslog on capable platforms
40413
40414         • Implement --backup-dir and --suffix
40415
40416         • Implement --track-renames (initial  implementation  by  Bjørn  Erik
40417           Pedersen)
40418
40419         • Add time-based bandwidth limits (Lukas Loesche)
40420
40421         • rclone cryptcheck: checks integrity of crypt remotes
40422
40423         • Allow all config file variables and options to be set from environ‐
40424           ment variables
40425
40426         • Add --buffer-size parameter to control buffer size for copy
40427
40428         • Make --delete-after the default
40429
40430         • Add --ignore-checksum flag (fixed by Hisham Zarka)
40431
40432         • rclone check: Add --download flag to check all the data,  not  just
40433           hashes
40434
40435         • rclone cat: add --head, --tail, --offset, --count and --discard
40436
40437         • rclone config: when choosing from a list, allow the value to be en‐
40438           tered too
40439
40440         • rclone config: allow rename and copy of remotes
40441
40442         • rclone obscure: for generating  encrypted  passwords  for  rclone's
40443           config (T.C.  Ferguson)
40444
40445         • Comply with XDG Base Directory specification (Dario Giovannetti)
40446
40447           • this moves the default location of the config file in a backwards
40448             compatible way
40449
40450         • Release changes
40451
40452           • Ubuntu snap support (Dedsec1)
40453
40454           • Compile with go 1.8
40455
40456           • MIPS/Linux big and little endian support
40457
40458       • Bug Fixes
40459
40460         • Fix copyto copying things to the wrong place if the destination dir
40461           didn't exist
40462
40463         • Fix parsing of remotes in moveto and copyto
40464
40465         • Fix --delete-before deleting files on copy
40466
40467         • Fix --files-from with an empty file copying everything
40468
40469         • Fix sync: don't update mod times if --dry-run set
40470
40471         • Fix MimeType propagation
40472
40473         • Fix filters to add ** rules to directory rules
40474
40475       • Local
40476
40477         • Implement -L, --copy-links flag to allow rclone to follow symlinks
40478
40479         • Open  files  in  write  only  mode so rclone can write to an rclone
40480           mount
40481
40482         • Fix unnormalised unicode causing problems reading directories
40483
40484         • Fix interaction between -x flag and --max-depth
40485
40486       • Mount
40487
40488         • Implement proper directory handling (mkdir, rmdir, renaming)
40489
40490         • Make include and exclude filters apply to mount
40491
40492         • Implement read and write async buffers - control with --buffer-size
40493
40494         • Fix fsync on for directories
40495
40496         • Fix retry on network failure when reading off crypt
40497
40498       • Crypt
40499
40500         • Add --crypt-show-mapping to show encrypted file mapping
40501
40502         • Fix crypt writer getting stuck in a loop
40503
40504IMPORTANT this bug had the potential  to  cause  data  corruption
40505             when
40506
40507             • reading data from a network based remote and
40508
40509             • writing to a crypt on Google Drive
40510
40511           • Use  the cryptcheck command to validate your data if you are con‐
40512             cerned
40513
40514           • If syncing two crypt remotes, sync the unencrypted remote
40515
40516       • Amazon Drive
40517
40518         • Fix panics on Move (rename)
40519
40520         • Fix panic on token expiry
40521
40522       • B2
40523
40524         • Fix inconsistent listings and rclone check
40525
40526         • Fix uploading empty files with go1.8
40527
40528         • Constrain memory usage when doing multipart uploads
40529
40530         • Fix upload url not being refreshed properly
40531
40532       • Drive
40533
40534         • Fix Rmdir on directories with trashed files
40535
40536         • Fix "Ignoring unknown object" when downloading
40537
40538         • Add --drive-list-chunk
40539
40540         • Add --drive-skip-gdocs (Károly Oláh)
40541
40542       • OneDrive
40543
40544         • Implement Move
40545
40546         • Fix Copy
40547
40548           • Fix overwrite detection in Copy
40549
40550           • Fix waitForJob to parse errors correctly
40551
40552         • Use token renewer to stop auth errors on long uploads
40553
40554         • Fix uploading empty files with go1.8
40555
40556       • Google Cloud Storage
40557
40558         • Fix depth 1 directory listings
40559
40560       • Yandex
40561
40562         • Fix single level directory listing
40563
40564       • Dropbox
40565
40566         • Normalise the case for single level directory listings
40567
40568         • Fix depth 1 listing
40569
40570       • S3
40571
40572         • Added ca-central-1 region (Jon Yergatian)
40573
40574   v1.35 - 2017-01-02
40575       • New Features
40576
40577         • moveto and copyto commands  for  choosing  a  destination  name  on
40578           copy/move
40579
40580         • rmdirs command to recursively delete empty directories
40581
40582         • Allow repeated --include/--exclude/--filter options
40583
40584         • Only show transfer stats on commands which transfer stuff
40585
40586           • show stats on any command using the --stats flag
40587
40588         • Allow  overlapping directories in move when server-side dir move is
40589           supported
40590
40591         • Add --stats-unit option - thanks Scott McGillivray
40592
40593       • Bug Fixes
40594
40595         • Fix the config file being overwritten when two rclone instances are
40596           running
40597
40598         • Make rclone lsd obey the filters properly
40599
40600         • Fix compilation on mips
40601
40602         • Fix not transferring files that don't differ in size
40603
40604         • Fix panic on nil retry/fatal error
40605
40606       • Mount
40607
40608         • Retry reads on error - should help with reliability a lot
40609
40610         • Report the modification times for directories from the remote
40611
40612         • Add bandwidth accounting and limiting (fixes --bwlimit)
40613
40614         • If  --stats  provided will show stats and which files are transfer‐
40615           ring
40616
40617         • Support R/W files if truncate is set.
40618
40619         • Implement statfs interface so df works
40620
40621         • Note that write is now supported on Amazon Drive
40622
40623         • Report number of blocks in a file - thanks Stefan Breunig
40624
40625       • Crypt
40626
40627         • Prevent the user pointing crypt at itself
40628
40629         • Fix failed to authenticate decrypted block errors
40630
40631           • these will now return the underlying unexpected EOF instead
40632
40633       • Amazon Drive
40634
40635         • Add support for server-side move and directory move - thanks Stefan
40636           Breunig
40637
40638         • Fix nil pointer deref on size attribute
40639
40640       • B2
40641
40642         • Use new prefix and delimiter parameters in directory listings
40643
40644           • This  makes  --max-depth  1  dir  listings  as used in mount much
40645             faster
40646
40647         • Reauth the account while doing uploads too - should help with token
40648           expiry
40649
40650       • Drive
40651
40652         • Make DirMove more efficient and complain about moving the root
40653
40654         • Create destination directory on Move()
40655
40656   v1.34 - 2016-11-06
40657       • New Features
40658
40659         • Stop  single file and --files-from operations iterating through the
40660           source bucket.
40661
40662         • Stop removing failed upload to cloud storage remotes
40663
40664         • Make ContentType be preserved for cloud to cloud copies
40665
40666         • Add support to toggle bandwidth limits via SIGUSR2 -  thanks  Marco
40667           Paganini
40668
40669         • rclone check shows count of hashes that couldn't be checked
40670
40671         • rclone listremotes command
40672
40673         • Support linux/arm64 build - thanks Fredrik Fornwall
40674
40675         • Remove Authorization: lines from --dump-headers output
40676
40677       • Bug Fixes
40678
40679         • Ignore files with control characters in the names
40680
40681         • Fix rclone move command
40682
40683           • Delete src files which already existed in dst
40684
40685           • Fix deletion of src file when dst file older
40686
40687         • Fix rclone check on crypted file systems
40688
40689         • Make failed uploads not count as "Transferred"
40690
40691         • Make sure high level retries show with -q
40692
40693         • Use a vendor directory with godep for repeatable builds
40694
40695       • rclone mount - FUSE
40696
40697         • Implement FUSE mount options
40698
40699           • --no-modtime, --debug-fuse, --read-only, --allow-non-empty, --al‐
40700             low-root, --allow-other
40701
40702           • --default-permissions,   --write-back-cache,    --max-read-ahead,
40703             --umask, --uid, --gid
40704
40705         • Add --dir-cache-time to control caching of directory entries
40706
40707         • Implement seek for files opened for read (useful for video players)
40708
40709           • with -no-seek flag to disable
40710
40711         • Fix crash on 32 bit ARM (alignment of 64 bit counter)
40712
40713         • ...and many more internal fixes and improvements!
40714
40715       • Crypt
40716
40717         • Don't show encrypted password in configurator to stop confusion
40718
40719       • Amazon Drive
40720
40721         • New wait for upload option --acd-upload-wait-per-gb
40722
40723           • upload timeouts scale by file size and can be disabled
40724
40725         • Add 502 Bad Gateway to list of errors we retry
40726
40727         • Fix overwriting a file with a zero length file
40728
40729         • Fix ACD file size warning limit - thanks Felix Bünemann
40730
40731       • Local
40732
40733         • Unix:  implement -x/--one-file-system to stay on a single file sys‐
40734           tem
40735
40736           • thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
40737
40738         • Windows: ignore the symlink bit on files
40739
40740         • Windows: Ignore directory based junction points
40741
40742       • B2
40743
40744         • Make sure each upload has at least one upload slot - fixes  strange
40745           upload stats
40746
40747         • Fix uploads when using crypt
40748
40749         • Fix download of large files (sha1 mismatch)
40750
40751         • Return error when we try to create a bucket which someone else owns
40752
40753         • Update  B2  docs with Data usage, and Crypt section - thanks Tomasz
40754           Mazur
40755
40756       • S3
40757
40758         • Command line and config file support for
40759
40760           • Setting/overriding ACL - thanks Radek Senfeld
40761
40762           • Setting storage class - thanks Asko Tamm
40763
40764       • Drive
40765
40766         • Make exponential backoff work exactly as per Google specification
40767
40768         • add .epub, .odp and .tsv as export formats.
40769
40770       • Swift
40771
40772         • Don't read metadata for directory marker objects
40773
40774   v1.33 - 2016-08-24
40775       • New Features
40776
40777         • Implement encryption
40778
40779           • data encrypted in NACL secretbox format
40780
40781           • with optional file name encryption
40782
40783         • New commands
40784
40785           • rclone mount - implements FUSE mounting of remotes (EXPERIMENTAL)
40786
40787             • works on Linux, FreeBSD and OS X (need testers for the last 2!)
40788
40789           • rclone cat - outputs remote file or files to the terminal
40790
40791           • rclone genautocomplete - command to make a bash completion script
40792             for rclone
40793
40794         • Editing a remote using rclone config now goes through the wizard
40795
40796         • Compile  with go 1.7 - this fixes rclone on macOS Sierra and on 386
40797           processors
40798
40799         • Use cobra for sub commands and docs generation
40800
40801       • drive
40802
40803         • Document how to make your own client_id
40804
40805       • s3
40806
40807         • User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
40808
40809       • b2
40810
40811         • Fix stats accounting for upload - no more jumping to 100% done
40812
40813         • On cleanup delete hide marker if it is the current file
40814
40815         • New B2 API endpoint (thanks Per Cederberg)
40816
40817         • Set maximum backoff to 5 Minutes
40818
40819       • onedrive
40820
40821         • Fix URL escaping in file names - e.g.  uploading files  with  +  in
40822           them.
40823
40824       • amazon cloud drive
40825
40826         • Fix token expiry during large uploads
40827
40828         • Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
40829
40830       • local
40831
40832         • Fix filenames with invalid UTF-8 not being uploaded
40833
40834         • Fix problem with some UTF-8 characters on OS X
40835
40836   v1.32 - 2016-07-13
40837       • Backblaze B2
40838
40839         • Fix upload of files large files not in root
40840
40841   v1.31 - 2016-07-13
40842       • New Features
40843
40844         • Reduce memory on sync by about 50%
40845
40846         • Implement  --no-traverse  flag to stop copy traversing the destina‐
40847           tion remote.
40848
40849           • This can be used to reduce memory usage down to the smallest pos‐
40850             sible.
40851
40852           • Useful  to  copy a small number of files into a large destination
40853             folder.
40854
40855         • Implement cleanup command for emptying trash /  removing  old  ver‐
40856           sions of files
40857
40858           • Currently B2 only
40859
40860         • Single file handling improved
40861
40862           • Now copied with --files-from
40863
40864           • Automatically sets --no-traverse when copying a single file
40865
40866         • Info on using installing with ansible - thanks Stefan Weichinger
40867
40868         • Implement --no-update-modtime flag to stop rclone fixing the remote
40869           modified times.
40870
40871       • Bug Fixes
40872
40873         • Fix move command - stop it running for overlapping Fses - this  was
40874           causing data loss.
40875
40876       • Local
40877
40878         • Fix incomplete hashes - this was causing problems for B2.
40879
40880       • Amazon Drive
40881
40882         • Rename  Amazon  Cloud  Drive to Amazon Drive - no changes to config
40883           file needed.
40884
40885       • Swift
40886
40887         • Add support for non-default project domain - thanks Antonio  Messi‐
40888           na.
40889
40890       • S3
40891
40892         • Add instructions on how to use rclone with minio.
40893
40894         • Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
40895
40896         • Skip setting the modified time for objects > 5GB as it isn't possi‐
40897           ble.
40898
40899       • Backblaze B2
40900
40901         • Add --b2-versions flag so old versions can be listed and retrieved.
40902
40903         • Treat 403 errors (e.g.  cap exceeded) as fatal.
40904
40905         • Implement cleanup command for deleting old file versions.
40906
40907         • Make error handling compliant with B2 integrations notes.
40908
40909         • Fix handling of token expiry.
40910
40911         • Implement --b2-test-mode to set X-Bz-Test-Mode header.
40912
40913         • Set cutoff for chunked upload to 200MB as per B2 guidelines.
40914
40915         • Make upload multi-threaded.
40916
40917       • Dropbox
40918
40919         • Don't retry 461 errors.
40920
40921   v1.30 - 2016-06-18
40922       • New Features
40923
40924         • Directory listing code reworked for more features and better  error
40925           reporting (thanks to Klaus Post for help).  This enables
40926
40927           • Directory include filtering for efficiency
40928
40929           • --max-depth parameter
40930
40931           • Better error reporting
40932
40933           • More to come
40934
40935         • Retry more errors
40936
40937         • Add --ignore-size flag - for uploading images to onedrive
40938
40939         • Log -v output to stdout by default
40940
40941         • Display the transfer stats in more human readable form
40942
40943         • Make 0 size files specifiable with --max-size 0b
40944
40945         • Add b suffix so we can specify bytes in --bwlimit, --min-size, etc.
40946
40947         • Use  "password:"  instead of "password>" prompt - thanks Klaus Post
40948           and Leigh Klotz
40949
40950       • Bug Fixes
40951
40952         • Fix retry doing one too many retries
40953
40954       • Local
40955
40956         • Fix problems with OS X and UTF-8 characters
40957
40958       • Amazon Drive
40959
40960         • Check a file exists before uploading to help with 408 Conflict  er‐
40961           rors
40962
40963         • Reauth on 401 errors - this has been causing a lot of problems
40964
40965         • Work around spurious 403 errors
40966
40967         • Restart directory listings on error
40968
40969       • Google Drive
40970
40971         • Check a file exists before uploading to help with duplicates
40972
40973         • Fix retry of multipart uploads
40974
40975       • Backblaze B2
40976
40977         • Implement large file uploading
40978
40979       • S3
40980
40981         • Add AES256 server-side encryption for - thanks Justin R.  Wilson
40982
40983       • Google Cloud Storage
40984
40985         • Make sure we don't use conflicting content types on upload
40986
40987         • Add service account support - thanks Michal Witkowski
40988
40989       • Swift
40990
40991         • Add auth version parameter
40992
40993         • Add domain option for openstack (v3 auth) - thanks Fabian Ruff
40994
40995   v1.29 - 2016-04-18
40996       • New Features
40997
40998         • Implement -I, --ignore-times for unconditional upload
40999
41000         • Improve dedupecommand
41001
41002           • Now removes identical copies without asking
41003
41004           • Now obeys --dry-run
41005
41006           • Implement --dedupe-mode for non interactive running
41007
41008             • --dedupe-mode interactive - interactive the default.
41009
41010             • --dedupe-mode  skip  -  removes identical files then skips any‐
41011               thing left.
41012
41013             • --dedupe-mode first - removes identical files  then  keeps  the
41014               first one.
41015
41016             • --dedupe-mode  newest  - removes identical files then keeps the
41017               newest one.
41018
41019             • --dedupe-mode oldest - removes identical files then  keeps  the
41020               oldest one.
41021
41022             • --dedupe-mode rename - removes identical files then renames the
41023               rest to be different.
41024
41025       • Bug fixes
41026
41027         • Make rclone check obey the --size-only flag.
41028
41029         • Use "application/octet-stream" if discovered mime type is invalid.
41030
41031         • Fix missing "quit" option when there are no remotes.
41032
41033       • Google Drive
41034
41035         • Increase default chunk size to 8 MB - increases upload speed of big
41036           files
41037
41038         • Speed up directory listings and make more reliable
41039
41040         • Add missing retries for Move and DirMove - increases reliability
41041
41042         • Preserve mime type on file update
41043
41044       • Backblaze B2
41045
41046         • Enable mod time syncing
41047
41048           • This means that B2 will now check modification times
41049
41050           • It will upload new files to update the modification times
41051
41052           • (there isn't an API to just set the mod time.)
41053
41054           • If you want the old behaviour use --size-only.
41055
41056         • Update API to new version
41057
41058         • Fix parsing of mod time when not in metadata
41059
41060       • Swift/Hubic
41061
41062         • Don't return an MD5SUM for static large objects
41063
41064       • S3
41065
41066         • Fix uploading files bigger than 50GB
41067
41068   v1.28 - 2016-03-01
41069       • New Features
41070
41071         • Configuration file encryption - thanks Klaus Post
41072
41073         • Improve  rclone config adding more help and making it easier to un‐
41074           derstand
41075
41076         • Implement -u/--update so creation times can be used on all remotes
41077
41078         • Implement --low-level-retries flag
41079
41080         • Optionally disable gzip compression on downloads with --no-gzip-en‐
41081           coding
41082
41083       • Bug fixes
41084
41085         • Don't make directories if --dry-run set
41086
41087         • Fix and document the move command
41088
41089         • Fix redirecting stderr on unix-like OSes when using --log-file
41090
41091         • Fix  delete  command  to  wait  until  all finished - fixes missing
41092           deletes.
41093
41094       • Backblaze B2
41095
41096         • Use one upload URL per go routine fixes more than one upload  using
41097           auth token
41098
41099         • Add pacing, retries and reauthentication - fixes token expiry prob‐
41100           lems
41101
41102         • Upload without using a temporary file from local (and remotes which
41103           support SHA1)
41104
41105         • Fix reading metadata for all files when it shouldn't have been
41106
41107       • Drive
41108
41109         • Fix listing drive documents at root
41110
41111         • Disable copy and move for Google docs
41112
41113       • Swift
41114
41115         • Fix uploading of chunked files with non ASCII characters
41116
41117         • Allow setting of storage_url in the config - thanks Xavier Lucas
41118
41119       • S3
41120
41121         • Allow  IAM role and credentials from environment variables - thanks
41122           Brian Stengaard
41123
41124         • Allow low privilege users to use S3 (check if directory exists dur‐
41125           ing Mkdir) - thanks Jakub Gedeon
41126
41127       • Amazon Drive
41128
41129         • Retry on more things to make directory listings more reliable
41130
41131   v1.27 - 2016-01-31
41132       • New Features
41133
41134         • Easier headless configuration with rclone authorize
41135
41136         • Add  support for multiple hash types - we now check SHA1 as well as
41137           MD5 hashes.
41138
41139         • delete command which does obey the filters (unlike purge)
41140
41141         • dedupe command to deduplicate a remote.  Useful with Google Drive.
41142
41143         • Add --ignore-existing flag to skip all files that exist on destina‐
41144           tion.
41145
41146         • Add --delete-before, --delete-during, --delete-after flags.
41147
41148         • Add --memprofile flag to debug memory use.
41149
41150         • Warn the user about files with same name but different case
41151
41152         • Make --include rules add their implicit exclude * at the end of the
41153           filter list
41154
41155         • Deprecate compiling with go1.3
41156
41157       • Amazon Drive
41158
41159         • Fix download of files > 10 GB
41160
41161         • Fix directory traversal ("Next token is expired") for large  direc‐
41162           tory listings
41163
41164         • Remove  409  conflict  from  error codes we will retry - stops very
41165           long pauses
41166
41167       • Backblaze B2
41168
41169         • SHA1 hashes now checked by rclone core
41170
41171       • Drive
41172
41173         • Add --drive-auth-owner-only to only consider files owned by the us‐
41174           er - thanks Björn Harrtell
41175
41176         • Export Google documents
41177
41178       • Dropbox
41179
41180         • Make file exclusion error controllable with -q
41181
41182       • Swift
41183
41184         • Fix upload from unprivileged user.
41185
41186       • S3
41187
41188         • Fix updating of mod times of files with + in.
41189
41190       • Local
41191
41192         • Add local file system option to disable UNC on Windows.
41193
41194   v1.26 - 2016-01-02
41195       • New Features
41196
41197         • Yandex storage backend - thank you Dmitry Burdeev ("dibu")
41198
41199         • Implement Backblaze B2 storage backend
41200
41201         • Add  --min-age  and  --max-age  flags  -  thank you Adriano Aurélio
41202           Meirelles
41203
41204         • Make ls/lsl/md5sum/size/check obey includes and excludes
41205
41206       • Fixes
41207
41208         • Fix crash in http logging
41209
41210         • Upload releases to github too
41211
41212       • Swift
41213
41214         • Fix sync for chunked files
41215
41216       • OneDrive
41217
41218         • Re-enable server-side copy
41219
41220         • Don't mask HTTP error codes with JSON decode error
41221
41222       • S3
41223
41224         • Fix corrupting Content-Type  on  mod  time  update  (thanks  Joseph
41225           Spurrier)
41226
41227   v1.25 - 2015-11-14
41228       • New features
41229
41230         • Implement Hubic storage system
41231
41232       • Fixes
41233
41234         • Fix deletion of some excluded files without --delete-excluded
41235
41236           • This could have deleted files unexpectedly on sync
41237
41238           • Always check first with --dry-run!
41239
41240       • Swift
41241
41242         • Stop SetModTime losing metadata (e.g.  X-Object-Manifest)
41243
41244           • This could have caused data loss for files > 5GB in size
41245
41246         • Use ContentType from Object to avoid lookups in listings
41247
41248       • OneDrive
41249
41250         • disable server-side copy as it seems to be broken at Microsoft
41251
41252   v1.24 - 2015-11-07
41253       • New features
41254
41255         • Add support for Microsoft OneDrive
41256
41257         • Add  --no-check-certificate  option  to  disable server certificate
41258           verification
41259
41260         • Add async readahead buffer for faster transfer of big files
41261
41262       • Fixes
41263
41264         • Allow spaces in remotes and check remote names for validity at cre‐
41265           ation time
41266
41267         • Allow '&' and disallow ':' in Windows filenames.
41268
41269       • Swift
41270
41271         • Ignore  directory marker objects where appropriate - allows working
41272           with Hubic
41273
41274         • Don't delete the container if fs wasn't at root
41275
41276       • S3
41277
41278         • Don't delete the bucket if fs wasn't at root
41279
41280       • Google Cloud Storage
41281
41282         • Don't delete the bucket if fs wasn't at root
41283
41284   v1.23 - 2015-10-03
41285       • New features
41286
41287         • Implement rclone size for measuring remotes
41288
41289       • Fixes
41290
41291         • Fix headless config for drive and gcs
41292
41293         • Tell the user they should try again if the webserver method failed
41294
41295         • Improve output of --dump-headers
41296
41297       • S3
41298
41299         • Allow anonymous access to public buckets
41300
41301       • Swift
41302
41303         • Stop chunked operations logging "Failed to read  info:  Object  Not
41304           Found"
41305
41306         • Use Content-Length on uploads for extra reliability
41307
41308   v1.22 - 2015-09-28
41309       • Implement rsync like include and exclude flags
41310
41311       • swift
41312
41313         • Support files > 5GB - thanks Sergey Tolmachev
41314
41315   v1.21 - 2015-09-22
41316       • New features
41317
41318         • Display individual transfer progress
41319
41320         • Make lsl output times in localtime
41321
41322       • Fixes
41323
41324         • Fix  allowing  user to override credentials again in Drive, GCS and
41325           ACD
41326
41327       • Amazon Drive
41328
41329         • Implement compliant pacing scheme
41330
41331       • Google Drive
41332
41333         • Make directory reads concurrent for increased speed.
41334
41335   v1.20 - 2015-09-15
41336       • New features
41337
41338         • Amazon Drive support
41339
41340         • Oauth support redone - fix many bugs and improve usability
41341
41342           • Use "golang.org/x/oauth2" as oauth library of choice
41343
41344           • Improve oauth usability for smoother initial signup
41345
41346           • drive, googlecloudstorage: optionally use  auto  config  for  the
41347             oauth token
41348
41349         • Implement --dump-headers and --dump-bodies debug flags
41350
41351         • Show multiple matched commands if abbreviation too short
41352
41353         • Implement server-side move where possible
41354
41355       • local
41356
41357         • Always use UNC paths internally on Windows - fixes a lot of bugs
41358
41359       • dropbox
41360
41361         • force use of our custom transport which makes timeouts work
41362
41363       • Thanks to Klaus Post for lots of help with this release
41364
41365   v1.19 - 2015-08-28
41366       • New features
41367
41368         • Server side copies for s3/swift/drive/dropbox/gcs
41369
41370         • Move command - uses server-side copies if it can
41371
41372         • Implement --retries flag - tries 3 times by default
41373
41374         • Build for plan9/amd64 and solaris/amd64 too
41375
41376       • Fixes
41377
41378         • Make a current version download with a fixed URL for scripting
41379
41380         • Ignore rmdir in limited fs rather than throwing error
41381
41382       • dropbox
41383
41384         • Increase chunk size to improve upload speeds massively
41385
41386         • Issue an error message when trying to upload bad file name
41387
41388   v1.18 - 2015-08-17
41389       • drive
41390
41391         • Add --drive-use-trash flag so rclone trashes instead of deletes
41392
41393         • Add "Forbidden to download" message for files with no downloadURL
41394
41395       • dropbox
41396
41397         • Remove datastore
41398
41399           • This was deprecated and it caused a lot of problems
41400
41401           • Modification times and MD5SUMs no longer stored
41402
41403         • Fix uploading files > 2GB
41404
41405       • s3
41406
41407         • use official AWS SDK from github.com/aws/aws-sdk-go
41408
41409NB will most likely require you to delete and recreate remote
41410
41411         • enable multipart upload which enables files > 5GB
41412
41413         • tested with Ceph / RadosGW / S3 emulation
41414
41415         • many  thanks to Sam Liston and Brian Haymore at the Utah Center for
41416           High Performance Computing (https://www.chpc.utah.edu/) for a  Ceph
41417           test account
41418
41419       • misc
41420
41421         • Show errors when reading the config file
41422
41423         • Do not print stats in quiet mode - thanks Leonid Shalupov
41424
41425         • Add FAQ
41426
41427         • Fix created directories not obeying umask
41428
41429         • Linux installation instructions - thanks Shimon Doodkin
41430
41431   v1.17 - 2015-06-14
41432       • dropbox: fix case insensitivity issues - thanks Leonid Shalupov
41433
41434   v1.16 - 2015-06-09
41435       • Fix uploading big files which was causing timeouts or panics
41436
41437       • Don't check md5sum after download with --size-only
41438
41439   v1.15 - 2015-06-06
41440       • Add --checksum flag to only discard transfers by MD5SUM - thanks Alex
41441         Couper
41442
41443       • Implement --size-only flag to sync on size not checksum & modtime
41444
41445       • Expand docs and remove duplicated information
41446
41447       • Document rclone's limitations with directories
41448
41449       • dropbox: update docs about case insensitivity
41450
41451   v1.14 - 2015-05-21
41452       • local: fix encoding of non utf-8 file names - fixes a duplicate  file
41453         problem
41454
41455       • drive: docs about rate limiting
41456
41457       • google   cloud   storage:   Fix   compile   after   API   change   in
41458         "google.golang.org/api/storage/v1"
41459
41460   v1.13 - 2015-05-10
41461       • Revise documentation (especially sync)
41462
41463       • Implement --timeout and --conntimeout
41464
41465       • s3: ignore etags from multipart uploads which aren't md5sums
41466
41467   v1.12 - 2015-03-15
41468       • drive: Use chunked upload for files above a certain size
41469
41470       • drive: add --drive-chunk-size and --drive-upload-cutoff parameters
41471
41472       • drive: switch to insert from update when a failed  copy  deletes  the
41473         upload
41474
41475       • core: Log duplicate files if they are detected
41476
41477   v1.11 - 2015-03-04
41478       • swift: add region parameter
41479
41480       • drive: fix crash on failed to update remote mtime
41481
41482       • In remote paths, change native directory separators to /
41483
41484       • Add synchronization to ls/lsl/lsd output to stop corruptions
41485
41486       • Ensure all stats/log messages to go stderr
41487
41488       • Add --log-file flag to log everything (including panics) to file
41489
41490       • Make it possible to disable stats printing with --stats=0
41491
41492       • Implement --bwlimit to limit data transfer bandwidth
41493
41494   v1.10 - 2015-02-12
41495       • s3: list an unlimited number of items
41496
41497       • Fix getting stuck in the configurator
41498
41499   v1.09 - 2015-02-07
41500       • windows:  Stop drive letters (e.g.  C:) getting mixed up with remotes
41501         (e.g.  drive:)
41502
41503       • local: Fix directory separators on Windows
41504
41505       • drive: fix rate limit exceeded errors
41506
41507   v1.08 - 2015-02-04
41508       • drive: fix subdirectory listing to not list entire drive
41509
41510       • drive: Fix SetModTime
41511
41512       • dropbox: adapt code to recent library changes
41513
41514   v1.07 - 2014-12-23
41515       • google cloud storage: fix memory leak
41516
41517   v1.06 - 2014-12-12
41518       • Fix "Couldn't find home directory" on OSX
41519
41520       • swift: Add tenant parameter
41521
41522       • Use new location of Google API packages
41523
41524   v1.05 - 2014-08-09
41525       • Improved tests and consequently lots of minor fixes
41526
41527       • core: Fix race detected by go race detector
41528
41529       • core: Fixes after running errcheck
41530
41531       • drive: reset root directory on Rmdir and Purge
41532
41533       • fs: Document that Purger returns error on empty directory,  test  and
41534         fix
41535
41536       • google cloud storage: fix ListDir on subdirectory
41537
41538       • google cloud storage: re-read metadata in SetModTime
41539
41540       • s3:  make reading metadata more reliable to work around eventual con‐
41541         sistency problems
41542
41543       • s3: strip trailing / from ListDir()
41544
41545       • swift: return directories without / in ListDir
41546
41547   v1.04 - 2014-07-21
41548       • google cloud storage: Fix crash on Update
41549
41550   v1.03 - 2014-07-20
41551       • swift, s3, dropbox: fix updated files being marked as corrupted
41552
41553       • Make compile with go 1.1 again
41554
41555   v1.02 - 2014-07-19
41556       • Implement Dropbox remote
41557
41558       • Implement Google Cloud Storage remote
41559
41560       • Verify Md5sums and Sizes after copies
41561
41562       • Remove times from "ls" command - lists sizes only
41563
41564       • Add add "lsl" - lists times and sizes
41565
41566       • Add "md5sum" command
41567
41568   v1.01 - 2014-07-04
41569       • drive: fix transfer of big files using up lots of memory
41570
41571   v1.00 - 2014-07-03
41572       • drive: fix whole second dates
41573
41574   v0.99 - 2014-06-26
41575       • Fix --dry-run not working
41576
41577       • Make compatible with go 1.1
41578
41579   v0.98 - 2014-05-30
41580       • s3: Treat missing Content-Length as 0 for some ceph installations
41581
41582       • rclonetest: add file with a space in
41583
41584   v0.97 - 2014-05-05
41585       • Implement copying of single files
41586
41587       • s3 & swift: support paths inside containers/buckets
41588
41589   v0.96 - 2014-04-24
41590       • drive: Fix multiple files of same name being created
41591
41592       • drive: Use o.Update and fs.Put to optimise transfers
41593
41594       • Add version number, -V and --version
41595
41596   v0.95 - 2014-03-28
41597       • rclone.org: website, docs and graphics
41598
41599       • drive: fix path parsing
41600
41601   v0.94 - 2014-03-27
41602       • Change remote format one last time
41603
41604       • GNU style flags
41605
41606   v0.93 - 2014-03-16
41607       • drive: store token in config file
41608
41609       • cross compile other versions
41610
41611       • set strict permissions on config file
41612
41613   v0.92 - 2014-03-15
41614       • Config fixes and --config option
41615
41616   v0.91 - 2014-03-15
41617       • Make config file
41618
41619   v0.90 - 2013-06-27
41620       • Project named rclone
41621
41622   v0.00 - 2012-11-18
41623       • Project started
41624

Bugs and Limitations

41626   Limitations
41627   Directory timestamps aren't preserved
41628       Rclone doesn't currently preserve the timestamps of directories.   This
41629       is because rclone only really considers objects when syncing.
41630
41631   Rclone struggles with millions of files in a directory/bucket
41632       Currently  rclone  loads each directory/bucket entirely into memory be‐
41633       fore using it.  Since each rclone object takes 0.5k-1k of  memory  this
41634       can take a very long time and use a large amount of memory.
41635
41636       Millions of files in a directory tends to occur on bucket-based remotes
41637       (e.g.  S3 buckets) since those remotes do not segregate  subdirectories
41638       within the bucket.
41639
41640   Bucket based remotes and folders
41641       Bucket  based  remotes (e.g.  S3/GCS/Swift/B2) do not have a concept of
41642       directories.  Rclone therefore cannot create directories in them  which
41643       means that empty directories on a bucket based remote will tend to dis‐
41644       appear.
41645
41646       Some software creates empty keys ending  in  /  as  directory  markers.
41647       Rclone doesn't do this as it potentially creates more objects and costs
41648       more.  This ability may be added in the future (probably via a flag/op‐
41649       tion).
41650
41651   Bugs
41652       Bugs are stored in rclone's GitHub project:
41653
41654       • Reported          bugs          (https://github.com/rclone/rclone/is
41655         sues?q=is%3Aopen+is%3Aissue+label%3Abug)
41656
41657       • Known          issues           (https://github.com/rclone/rclone/is
41658         sues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
41659

Frequently Asked Questions

41661   Do all cloud storage systems support all rclone commands
41662       Yes  they  do.   All  the rclone commands (e.g.  sync, copy, etc.) will
41663       work on all the remote storage systems.
41664
41665   Can I copy the config from one machine to another
41666       Sure! Rclone stores all of its config in a single file.  If you want to
41667       find this file, run rclone config file which will tell you where it is.
41668
41669       See  the  remote setup docs (https://rclone.org/remote_setup/) for more
41670       info.
41671
41672   How do I configure rclone on a remote / headless box with no browser?
41673       This  has  now  been  documented  in  its   own   remote   setup   page
41674       (https://rclone.org/remote_setup/).
41675
41676   Can rclone sync directly from drive to s3
41677       Rclone can sync between two remote cloud storage systems just fine.
41678
41679       Note  that  it  effectively downloads the file and uploads it again, so
41680       the node running rclone would need to have lots of bandwidth.
41681
41682       The syncs would be incremental (on a file by file basis).
41683
41684       Eg
41685
41686              rclone sync -i drive:Folder s3:bucket
41687
41688   Using rclone from multiple locations at the same time
41689       You can use rclone from multiple places at the same time if you  choose
41690       different subdirectory for the output, e.g.
41691
41692              Server A> rclone sync -i /tmp/whatever remote:ServerA
41693              Server B> rclone sync -i /tmp/whatever remote:ServerB
41694
41695       If  you sync to the same directory then you should use rclone copy oth‐
41696       erwise the two instances of rclone may delete each other's files, e.g.
41697
41698              Server A> rclone copy /tmp/whatever remote:Backup
41699              Server B> rclone copy /tmp/whatever remote:Backup
41700
41701       The file names you upload from Server A and Server B should be  differ‐
41702       ent  in  this  case, otherwise some file systems (e.g.  Drive) may make
41703       duplicates.
41704
41705   Why doesn't rclone support partial transfers / binary diffs like rsync?
41706       Rclone stores each file you transfer as a native object on  the  remote
41707       cloud storage system.  This means that you can see the files you upload
41708       as expected using alternative access methods (e.g.   using  the  Google
41709       Drive  web  interface).   There  is a 1:1 mapping between files on your
41710       hard disk and objects created in the cloud storage system.
41711
41712       Cloud storage systems (at least none I've come across yet)  don't  sup‐
41713       port partially uploading an object.  You can't take an existing object,
41714       and change some bytes in the middle of it.
41715
41716       It would be possible to make a sync system which  stored  binary  diffs
41717       instead of whole objects like rclone does, but that would break the 1:1
41718       mapping of files on your hard disk to objects in the remote cloud stor‐
41719       age system.
41720
41721       All  the cloud storage systems support partial downloads of content, so
41722       it would be possible to make partial downloads work.  However  to  make
41723       this  work  efficiently this would require storing a significant amount
41724       of metadata, which breaks the desired 1:1 mapping of files to objects.
41725
41726   Can rclone do bi-directional sync?
41727       No, not at present.  rclone only does uni-directional sync from A -> B.
41728       It  may  do  in  the future though since it has all the primitives - it
41729       just requires writing the algorithm to do it.
41730
41731   Can I use rclone with an HTTP proxy?
41732       Yes.  rclone will follow the standard environment variables  for  prox‐
41733       ies, similar to cURL and other programs.
41734
41735       In  general  the  variables are called http_proxy (for services reached
41736       over http) and https_proxy (for services  reached  over  https).   Most
41737       public services will be using https, but you may wish to set both.
41738
41739       The  content  of  the variable is protocol://server:port.  The protocol
41740       value is the one used to talk to the proxy server, itself, and is  com‐
41741       monly either http or socks5.
41742
41743       Slightly  annoyingly,  there is no standard for the name; some applica‐
41744       tions may use http_proxy but another one HTTP_PROXY.  The Go  libraries
41745       used  by  rclone  will try both variations, but you may wish to set all
41746       possibilities.  So, on Linux, you may end up with code similar to
41747
41748              export http_proxy=http://proxyserver:12345
41749              export https_proxy=$http_proxy
41750              export HTTP_PROXY=$http_proxy
41751              export HTTPS_PROXY=$http_proxy
41752
41753       The NO_PROXY allows you to disable the proxy for specific hosts.  Hosts
41754       must  be  comma  separated,  and can contain domains or parts.  For in‐
41755       stance "foo.com" also matches "bar.foo.com".
41756
41757       e.g.
41758
41759              export no_proxy=localhost,127.0.0.0/8,my.host.name
41760              export NO_PROXY=$no_proxy
41761
41762       Note that the ftp backend does not support ftp_proxy yet.
41763
41764   Rclone gives x509: failed to load system roots and no roots provided error
41765       This means that rclone can't find the SSL  root  certificates.   Likely
41766       you  are  running rclone on a NAS with a cut-down Linux OS, or possibly
41767       on Solaris.
41768
41769       Rclone (via the Go runtime) tries to load the  root  certificates  from
41770       these places on Linux.
41771
41772              "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
41773              "/etc/pki/tls/certs/ca-bundle.crt",   // Fedora/RHEL
41774              "/etc/ssl/ca-bundle.pem",             // OpenSUSE
41775              "/etc/pki/tls/cacert.pem",            // OpenELEC
41776
41777       So  doing something like this should fix the problem.  It also sets the
41778       time which is important for SSL to work properly.
41779
41780              mkdir -p /etc/ssl/certs/
41781              curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
41782              ntpclient -s -h pool.ntp.org
41783
41784       The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
41785       in  the  x509 package (https://godoc.org/crypto/x509), provide an addi‐
41786       tional way to provide the SSL root certificates.
41787
41788       Note that you may need to add the --insecure option to the curl command
41789       line if it doesn't work without.
41790
41791              curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
41792
41793   Rclone gives Failed to load config file: function not implemented error
41794       Likely this means that you are running rclone on Linux version not sup‐
41795       ported by the go runtime, ie earlier than version 2.6.23.
41796
41797       See  the  system  requirements  section  in   the   go   install   docs
41798       (https://golang.org/doc/install) for full details.
41799
41800   All my uploaded docx/xlsx/pptx files appear as archive/zip
41801       This  is  caused by uploading these files from a Windows computer which
41802       hasn't got the Microsoft Office suite installed.  The  easiest  way  to
41803       fix is to install the Word viewer and the Microsoft Office Compatibili‐
41804       ty Pack for Word, Excel, and PowerPoint 2007 and later  versions'  file
41805       formats
41806
41807   tcp lookup some.domain.com no such host
41808       This  happens  when  rclone cannot resolve a domain.  Please check that
41809       your DNS setup is generally working, e.g.
41810
41811              # both should print a long list of possible IP addresses
41812              dig www.googleapis.com          # resolve using your default DNS
41813              dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
41814
41815       If you are using systemd-resolved (default on Arch Linux), ensure it is
41816       at version 233 or higher.  Previous releases contain a bug which causes
41817       not all domains to be resolved properly.
41818
41819       Additionally with the GODEBUG=netdns= environment variable the  Go  re‐
41820       solver decision can be influenced.  This also allows to resolve certain
41821       issues with DNS resolution.  See the name resolution section in the  go
41822       docs (https://golang.org/pkg/net/#hdr-Name_Resolution).
41823
41824   The total size reported in the stats for a sync is wrong and keeps changing
41825       It  is  likely  you have more than 10,000 files that need to be synced.
41826       By default rclone only gets 10,000 files ahead in a sync so as  not  to
41827       use  up  too  much  memory.   You  can  change  this  default  with the
41828       --max-backlog (https://rclone.org/docs/#max-backlog-n) flag.
41829
41830   Rclone is using too much memory or appears to have a memory leak
41831       Rclone is written in Go which uses a garbage  collector.   The  default
41832       settings for the garbage collector mean that it runs when the heap size
41833       has doubled.
41834
41835       However it is possible to tune the garbage collector to use less memory
41836       by  setting  GOGC  (https://dave.cheney.net/tag/gogc) to a lower value,
41837       say export GOGC=20.  This will make the garbage collector work  harder,
41838       reducing memory size at the expense of CPU usage.
41839
41840       The most common cause of rclone using lots of memory is a single direc‐
41841       tory with thousands or millions of files in.  Rclone has to  load  this
41842       entirely  into  memory  as  rclone  objects.   Each rclone object takes
41843       0.5k-1k of memory.
41844
41845   Rclone changes fullwidth Unicode punctuation marks in file names
41846       For  example:  On  a  Windows  system,  you  have  a  file  with   name
41847       Test:1.jpg,  where : is the Unicode fullwidth colon symbol.  When us‐
41848       ing rclone to copy this to your Google Drive, you will notice that  the
41849       file  gets  renamed  to  Test:1.jpg, where : is the regular (halfwidth)
41850       colon.
41851
41852       The reason for such renames is the way  rclone  handles  different  re‐
41853       stricted  filenames (https://rclone.org/overview/#restricted-filenames)
41854       on different cloud storage systems.  It tries to avoid  ambiguous  file
41855       names as much and allow moving files between many cloud storage systems
41856       transparently, by replacing invalid  characters  with  similar  looking
41857       Unicode characters when transferring to one storage system, and replac‐
41858       ing back again when transferring to a different  storage  system  where
41859       the  original  characters are supported.  When the same Unicode charac‐
41860       ters are intentionally used in file names,  this  replacement  strategy
41861       leads  to  unwanted  renames.  Read more here (https://rclone.org/over
41862       view/#restricted-filenames-caveats).
41863

License

41865       This is free software under the terms of MIT  the  license  (check  the
41866       COPYING file included with the source code).
41867
41868              Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
41869
41870              Permission is hereby granted, free of charge, to any person obtaining a copy
41871              of this software and associated documentation files (the "Software"), to deal
41872              in the Software without restriction, including without limitation the rights
41873              to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
41874              copies of the Software, and to permit persons to whom the Software is
41875              furnished to do so, subject to the following conditions:
41876
41877              The above copyright notice and this permission notice shall be included in
41878              all copies or substantial portions of the Software.
41879
41880              THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41881              IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
41882              FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
41883              AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
41884              LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41885              OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
41886              THE SOFTWARE.
41887

Authors and contributors

41889   Authors
41890       • Nick Craig-Wood <nick@craig-wood.com>
41891
41892   Contributors
41893       {{< rem email addresses removed from here need to be addeed to bin/.ig‐
41894       nore-emails to make sure update-authors.py doesn't immediately put them
41895       back in again.  >}}
41896
41897       • Alex Couper <amcouper@gmail.com>
41898
41899       • Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru>
41900
41901       • Shimon Doodkin <helpmepro1@gmail.com>
41902
41903       • Colin Nicholson <colin@colinn.com>
41904
41905       • Klaus Post <klauspost@gmail.com>
41906
41907       • Sergey Tolmachev <tolsi.ru@gmail.com>
41908
41909       • Adriano Aurélio Meirelles <adriano@atinge.com>
41910
41911       • C.  Bess <cbess@users.noreply.github.com>
41912
41913       • Dmitry Burdeev <dibu28@gmail.com>
41914
41915       • Joseph Spurrier <github@josephspurrier.com>
41916
41917       • Björn Harrtell <bjorn@wololo.org>
41918
41919       • Xavier Lucas <xavier.lucas@corp.ovh.com>
41920
41921       • Werner Beroux <werner@beroux.com>
41922
41923       • Brian Stengaard <brian@stengaard.eu>
41924
41925       • Jakub Gedeon <jgedeon@sofi.com>
41926
41927       • Jim Tittsler <jwt@onjapan.net>
41928
41929       • Michal Witkowski <michal@improbable.io>
41930
41931       • Fabian Ruff <fabian.ruff@sap.com>
41932
41933       • Leigh Klotz <klotz@quixey.com>
41934
41935       • Romain Lapray <lapray.romain@gmail.com>
41936
41937       • Justin R.  Wilson <jrw972@gmail.com>
41938
41939       • Antonio Messina <antonio.s.messina@gmail.com>
41940
41941       • Stefan G.  Weichinger <office@oops.co.at>
41942
41943       • Per Cederberg <cederberg@gmail.com>
41944
41945       • Radek Šenfeld <rush@logic.cz>
41946
41947       • Fredrik Fornwall <fredrik@fornwall.net>
41948
41949       • Asko Tamm <asko@deekit.net>
41950
41951       • xor-zz <xor@gstocco.com>
41952
41953       • Tomasz Mazur <tmazur90@gmail.com>
41954
41955       • Marco Paganini <paganini@paganini.net>
41956
41957       • Felix Bünemann <buenemann@louis.info>
41958
41959       • Durval Menezes <jmrclone@durval.com>
41960
41961       • Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com>
41962
41963       • Stefan Breunig <stefan-github@yrden.de>
41964
41965       • Alishan Ladhani <ali-l@users.noreply.github.com>
41966
41967       • 0xJAKE <0xJAKE@users.noreply.github.com>
41968
41969       • Thibault Molleman <thibaultmol@users.noreply.github.com>
41970
41971       • Scott McGillivray <scott.mcgillivray@gmail.com>
41972
41973       • Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
41974
41975       • Lukas Loesche <lukas@mesosphere.io>
41976
41977       • emyarod <allllaboutyou@gmail.com>
41978
41979       • T.C.  Ferguson <tcf909@gmail.com>
41980
41981       • Brandur <brandur@mutelight.org>
41982
41983       • Dario Giovannetti <dev@dariogiovannetti.net>
41984
41985       • Károly Oláh <okaresz@aol.com>
41986
41987       • Jon Yergatian <jon@macfanatic.ca>
41988
41989       • Jack Schmidt <github@mowsey.org>
41990
41991       • Dedsec1 <Dedsec1@users.noreply.github.com>
41992
41993       • Hisham Zarka <hzarka@gmail.com>
41994
41995       • Jérôme Vizcaino <jerome.vizcaino@gmail.com>
41996
41997       • Mike Tesch <mjt6129@rit.edu>
41998
41999       • Marvin Watson <marvwatson@users.noreply.github.com>
42000
42001       • Danny Tsai <danny8376@gmail.com>
42002
42003       • Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com>
42004
42005       • Stephen     Harris     <github@spuddy.org>     <sweharris@users.nore‐
42006         ply.github.com>
42007
42008       • Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com>
42009
42010       • Jon Craton <jncraton@gmail.com>
42011
42012       • Hraban Luyat <hraban@0brg.net>
42013
42014       • Michael Ledin <mledin89@gmail.com>
42015
42016       • Martin Kristensen <me@azgul.com>
42017
42018       • Too Much IO <toomuchio@users.noreply.github.com>
42019
42020       • Anisse Astier <anisse@astier.eu>
42021
42022       • Zahiar Ahmed <zahiar@live.com>
42023
42024       • Igor Kharin <igorkharin@gmail.com>
42025
42026       • Bill Zissimopoulos <billziss@navimatics.com>
42027
42028       • Bob Potter <bobby.potter@gmail.com>
42029
42030       • Steven Lu <tacticalazn@gmail.com>
42031
42032       • Sjur Fredriksen <sjurtf@ifi.uio.no>
42033
42034       • Ruwbin <hubus12345@gmail.com>
42035
42036       • Fabian Möller <fabianm88@gmail.com> <f.moeller@nynex.de>
42037
42038       • Edward Q.  Bridges <github@eqbridges.com>
42039
42040       • Vasiliy Tolstov <v.tolstov@selfip.ru>
42041
42042       • Harshavardhana <harsha@minio.io>
42043
42044       • sainaen <sainaen@gmail.com>
42045
42046       • gdm85 <gdm85@users.noreply.github.com>
42047
42048       • Yaroslav Halchenko <debian@onerussian.com>
42049
42050       • John Papandriopoulos <jpap@users.noreply.github.com>
42051
42052       • Zhiming Wang <zmwangx@gmail.com>
42053
42054       • Andy Pilate <cubox@cubox.me>
42055
42056       • Oliver     Heyme     <olihey@googlemail.com>      <olihey@users.nore‐
42057         ply.github.com> <de8olihe@lego.com>
42058
42059       • wuyu <wuyu@yunify.com>
42060
42061       • Andrei Dragomir <adragomi@adobe.com>
42062
42063       • Christian Brüggemann <mail@cbruegg.com>
42064
42065       • Alex McGrath Kraak <amkdude@gmail.com>
42066
42067       • bpicode <bjoern.pirnay@googlemail.com>
42068
42069       • Daniel Jagszent <daniel@jagszent.de>
42070
42071       • Josiah White <thegenius2009@gmail.com>
42072
42073       • Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com>
42074
42075       • Jan Varho <jan@varho.org>
42076
42077       • Girish Ramakrishnan <girish@cloudron.io>
42078
42079       • LingMan <LingMan@users.noreply.github.com>
42080
42081       • Jacob McNamee <jacobmcnamee@gmail.com>
42082
42083       • jersou <jertux@gmail.com>
42084
42085       • thierry <thierry@substantiel.fr>
42086
42087       • Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal>
42088
42089       • Dan Dascalescu <ddascalescu+github@gmail.com>
42090
42091       • Jason Rose <jason@jro.io>
42092
42093       • Andrew Starr-Bochicchio <a.starr.b@gmail.com>
42094
42095       • John Leach <john@johnleach.co.uk>
42096
42097       • Corban Raun <craun@instructure.com>
42098
42099       • Pierre Carlson <mpcarl@us.ibm.com>
42100
42101       • Ernest Borowski <er.borowski@gmail.com>
42102
42103       • Remus Bunduc <remus.bunduc@gmail.com>
42104
42105       • Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru>
42106
42107       • Jakub Tasiemski <tasiemski@gmail.com>
42108
42109       • David Minor <dminor@saymedia.com>
42110
42111       • Tim Cooijmans <cooijmans.tim@gmail.com>
42112
42113       • Laurence <liuxy6@gmail.com>
42114
42115       • Giovanni Pizzi <gio.piz@gmail.com>
42116
42117       • Filip Bartodziej <filipbartodziej@gmail.com>
42118
42119       • Jon Fautley <jon@dead.li>
42120
42121       • lewapm <32110057+lewapm@users.noreply.github.com>
42122
42123       • Yassine Imounachen <yassine256@gmail.com>
42124
42125       • Chris   Redekop  <chris-redekop@users.noreply.github.com>  <chris.re‐
42126         dekop@gmail.com>
42127
42128       • Jon Fautley <jon@adenoid.appstal.co.uk>
42129
42130       • Will Gunn <WillGunn@users.noreply.github.com>
42131
42132       • Lucas Bremgartner <lucas@bremis.ch>
42133
42134       • Jody Frankowski <jody.frankowski@gmail.com>
42135
42136       • Andreas Roussos <arouss1980@gmail.com>
42137
42138       • nbuchanan <nbuchanan@utah.gov>
42139
42140       • Durval Menezes <rclone@durval.com>
42141
42142       • Victor <vb-github@viblo.se>
42143
42144       • Mateusz <pabian.mateusz@gmail.com>
42145
42146       • Daniel Loader <spicypixel@gmail.com>
42147
42148       • David0rk <davidork@gmail.com>
42149
42150       • Alexander Neumann <alexander@bumpern.de>
42151
42152       • Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local>
42153
42154       • Leo R.  Lundgren <leo@finalresort.org>
42155
42156       • wolfv <wolfv6@users.noreply.github.com>
42157
42158       • Dave Pedu <dave@davepedu.com>
42159
42160       • Stefan Lindblom <lindblom@spotify.com>
42161
42162       • seuffert <oliver@seuffert.biz>
42163
42164       • gbadanahatti <37121690+gbadanahatti@users.noreply.github.com>
42165
42166       • Keith Goldfarb <barkofdelight@gmail.com>
42167
42168       • Steve Kriss <steve@heptio.com>
42169
42170       • Chih-Hsuan Yen <yan12125@gmail.com>
42171
42172       • Alexander Neumann <fd0@users.noreply.github.com>
42173
42174       • Matt Holt <mholt@users.noreply.github.com>
42175
42176       • Eri Bastos <bastos.eri@gmail.com>
42177
42178       • Michael P.  Dubner <pywebmail@list.ru>
42179
42180       • Antoine GIRARD <sapk@users.noreply.github.com>
42181
42182       • Mateusz Piotrowski <mpp302@gmail.com>
42183
42184       • Animosity022    <animosity22@users.noreply.github.com>     <earl.tex‐
42185         ter@gmail.com>
42186
42187       • Peter Baumgartner <pete@lincolnloop.com>
42188
42189       • Craig Rachel <craig@craigrachel.com>
42190
42191       • Michael G.  Noll <miguno@users.noreply.github.com>
42192
42193       • hensur <me@hensur.de>
42194
42195       • Oliver Heyme <de8olihe@lego.com>
42196
42197       • Richard Yang <richard@yenforyang.com>
42198
42199       • Piotr Oleszczyk <piotr.oleszczyk@gmail.com>
42200
42201       • Rodrigo <rodarima@gmail.com>
42202
42203       • NoLooseEnds <NoLooseEnds@users.noreply.github.com>
42204
42205       • Jakub Karlicek <jakub@karlicek.me>
42206
42207       • John Clayton <john@codemonkeylabs.com>
42208
42209       • Kasper Byrdal Nielsen <byrdal76@gmail.com>
42210
42211       • Benjamin Joseph Dag <bjdag1234@users.noreply.github.com>
42212
42213       • themylogin <themylogin@gmail.com>
42214
42215       • Onno Zweers <onno.zweers@surfsara.nl>
42216
42217       • Jasper Lievisse Adriaanse <jasper@humppa.nl>
42218
42219       • sandeepkru     <sandeep.ummadi@gmail.com>     <sandeepkru@users.nore‐
42220         ply.github.com>
42221
42222       • HerrH <atomtigerzoo@users.noreply.github.com>
42223
42224       • Andrew <4030760+sparkyman215@users.noreply.github.com>
42225
42226       • dan smith <XX1011@gmail.com>
42227
42228       • Oleg Kovalov <iamolegkovalov@gmail.com>
42229
42230       • Ruben Vandamme <github-com-00ff86@vandamme.email>
42231
42232       • Cnly <minecnly@gmail.com>
42233
42234       • Andres Alvarez <1671935+kir4h@users.noreply.github.com>
42235
42236       • reddi1 <xreddi@gmail.com>
42237
42238       • Matt Tucker <matthewtckr@gmail.com>
42239
42240       • Sebastian Bünger <buengese@gmail.com> <buengese@protonmail.com>
42241
42242       • Martin Polden <mpolden@mpolden.no>
42243
42244       • Alex Chen <Cnly@users.noreply.github.com>
42245
42246       • Denis <deniskovpen@gmail.com>
42247
42248       • bsteiss <35940619+bsteiss@users.noreply.github.com>
42249
42250       • Cédric Connes <cedric.connes@gmail.com>
42251
42252       • Dr.  Tobias Quathamer <toddy15@users.noreply.github.com>
42253
42254       • dcpu <42736967+dcpu@users.noreply.github.com>
42255
42256       • Sheldon Rupp <me@shel.io>
42257
42258       • albertony <12441419+albertony@users.noreply.github.com>
42259
42260       • cron410 <cron410@gmail.com>
42261
42262       • Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
42263
42264       • Felix Brucker <felix@felixbrucker.com>
42265
42266       • Santiago Rodríguez <scollazo@users.noreply.github.com>
42267
42268       • Craig Miskell <craig.miskell@fluxfederation.com>
42269
42270       • Antoine GIRARD <sapk@sapk.fr>
42271
42272       • Joanna Marek <joanna.marek@u2i.com>
42273
42274       • frenos <frenos@users.noreply.github.com>
42275
42276       • ssaqua <ssaqua@users.noreply.github.com>
42277
42278       • xnaas <me@xnaas.info>
42279
42280       • Frantisek Fuka <fuka@fuxoft.cz>
42281
42282       • Paul Kohout <pauljkohout@yahoo.com>
42283
42284       • dcpu <43330287+dcpu@users.noreply.github.com>
42285
42286       • jackyzy823 <jackyzy823@gmail.com>
42287
42288       • David Haguenauer <ml@kurokatta.org>
42289
42290       • teresy <hi.teresy@gmail.com>
42291
42292       • buergi <patbuergi@gmx.de>
42293
42294       • Florian Gamboeck <mail@floga.de>
42295
42296       • Ralf Hemberger <10364191+rhemberger@users.noreply.github.com>
42297
42298       • Scott Edlund <sedlund@users.noreply.github.com>
42299
42300       • Erik Swanson <erik@retailnext.net>
42301
42302       • Jake Coggiano <jake@stripe.com>
42303
42304       • brused27 <brused27@noemailaddress>
42305
42306       • Peter Kaminski <kaminski@istori.com>
42307
42308       • Henry Ptasinski <henry@logout.com>
42309
42310       • Alexander <kharkovalexander@gmail.com>
42311
42312       • Garry McNulty <garrmcnu@gmail.com>
42313
42314       • Mathieu Carbou <mathieu.carbou@gmail.com>
42315
42316       • Mark Otway <mark@otway.com>
42317
42318       • William Cocker <37018962+WilliamCocker@users.noreply.github.com>
42319
42320       • François Leurent <131.js@cloudyks.org>
42321
42322       • Arkadius Stefanski <arkste@gmail.com>
42323
42324       • Jay <dev@jaygoel.com>
42325
42326       • andrea rota <a@xelera.eu>
42327
42328       • nicolov <nicolov@users.noreply.github.com>
42329
42330       • Dario Guzik <dario@guzik.com.ar>
42331
42332       • qip <qip@users.noreply.github.com>
42333
42334       • yair@unicorn <yair@unicorn>
42335
42336       • Matt Robinson <brimstone@the.narro.ws>
42337
42338       • kayrus <kay.diam@gmail.com>
42339
42340       • Rémy Léone <remy.leone@gmail.com>
42341
42342       • Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com>
42343
42344       • weetmuts <oehrstroem@gmail.com>
42345
42346       • Jonathan <vanillajonathan@users.noreply.github.com>
42347
42348       • James Carpenter <orbsmiv@users.noreply.github.com>
42349
42350       • Vince <vince0villamora@gmail.com>
42351
42352       • Nestar47 <47841759+Nestar47@users.noreply.github.com>
42353
42354       • Six <brbsix@gmail.com>
42355
42356       • Alexandru Bumbacea <alexandru.bumbacea@booking.com>
42357
42358       • calisro <robert.calistri@gmail.com>
42359
42360       • Dr.Rx <david.rey@nventive.com>
42361
42362       • marcintustin <marcintustin@users.noreply.github.com>
42363
42364       • jaKa Močnik <jaka@koofr.net>
42365
42366       • Fionera <fionera@fionera.de>
42367
42368       • Dan Walters <dan@walters.io>
42369
42370       • Danil Semelenov <sgtpep@users.noreply.github.com>
42371
42372       • xopez <28950736+xopez@users.noreply.github.com>
42373
42374       • Ben Boeckel <mathstuf@gmail.com>
42375
42376       • Manu <manu@snapdragon.cc>
42377
42378       • Kyle E.  Mitchell <kyle@kemitchell.com>
42379
42380       • Gary Kim <gary@garykim.dev>
42381
42382       • Jon <jonathn@github.com>
42383
42384       • Jeff Quinn <jeffrey.quinn@bluevoyant.com>
42385
42386       • Peter Berbec <peter@berbec.com>
42387
42388       • didil <1284255+didil@users.noreply.github.com>
42389
42390       • id01 <gaviniboom@gmail.com>
42391
42392       • Robert Marko <robimarko@gmail.com>
42393
42394       • Philip Harvey <32467456+pharveybattelle@users.noreply.github.com>
42395
42396       • JorisE <JorisE@users.noreply.github.com>
42397
42398       • garry415 <garry.415@gmail.com>
42399
42400       • forgems <forgems@gmail.com>
42401
42402       • Florian Apolloner <florian@apolloner.eu>
42403
42404       • Aleksandar  Janković  <office@ajankovic.com>   <ajankovic@users.nore‐
42405         ply.github.com>
42406
42407       • Maran <maran@protonmail.com>
42408
42409       • nguyenhuuluan434 <nguyenhuuluan434@gmail.com>
42410
42411       • Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev>
42412
42413       • yparitcher <y@paritcher.com>
42414
42415       • AbelThar <abela.tharen@gmail.com>
42416
42417       • Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
42418
42419       • Russell Davis <russelldavis@users.noreply.github.com>
42420
42421       • Yi FU <yi.fu@tink.se>
42422
42423       • Paul Millar <paul.millar@desy.de>
42424
42425       • justinalin <justinalin@qnap.com>
42426
42427       • EliEron <subanimehd@gmail.com>
42428
42429       • justina777 <chiahuei.lin@gmail.com>
42430
42431       • Chaitanya Bankanhal <bchaitanya15@gmail.com>
42432
42433       • Michał Matczuk <michal@scylladb.com>
42434
42435       • Macavirus <macavirus@zoho.com>
42436
42437       • Abhinav Sharma <abhi18av@outlook.com>
42438
42439       • ginvine <34869051+ginvine@users.noreply.github.com>
42440
42441       • Patrick Wang <mail6543210@yahoo.com.tw>
42442
42443       • Cenk Alti <cenkalti@gmail.com>
42444
42445       • Andreas Chlupka <andy@chlupka.com>
42446
42447       • Alfonso Montero <amontero@tinet.org>
42448
42449       • Ivan Andreev <ivandeex@gmail.com>
42450
42451       • David Baumgold <david@davidbaumgold.com>
42452
42453       • Lars Lehtonen <lars.lehtonen@gmail.com>
42454
42455       • Matei David <matei.david@gmail.com>
42456
42457       • David <david.bramwell@endemolshine.com>
42458
42459       • Anthony Rusdi <33247310+antrusd@users.noreply.github.com>
42460
42461       • Richard Patel <me@terorie.dev>
42462
42463       • 庄天翼 <zty0826@gmail.com>
42464
42465       • SwitchJS <dev@switchjs.com>
42466
42467       • Raphael <PowershellNinja@users.noreply.github.com>
42468
42469       • Sezal Agrawal <sezalagrawal@gmail.com>
42470
42471       • Tyler <TylerNakamura@users.noreply.github.com>
42472
42473       • Brett Dutro <brett.dutro@gmail.com>
42474
42475       • Vighnesh SK <booterror99@gmail.com>
42476
42477       • Arijit Biswas <dibbyo456@gmail.com>
42478
42479       • Michele Caci <michele.caci@gmail.com>
42480
42481       • AlexandrBoltris <ua2fgb@gmail.com>
42482
42483       • Bryce Larson <blarson@saltstack.com>
42484
42485       • Carlos Ferreyra <crypticmind@gmail.com>
42486
42487       • Saksham Khanna <sakshamkhanna@outlook.com>
42488
42489       • dausruddin <5763466+dausruddin@users.noreply.github.com>
42490
42491       • zero-24 <zero-24@users.noreply.github.com>
42492
42493       • Xiaoxing Ye <ye@xiaoxing.us>
42494
42495       • Barry Muldrey <barry@muldrey.net>
42496
42497       • Sebastian Brandt <sebastian.brandt@friday.de>
42498
42499       • Marco Molteni <marco.molteni@mailbox.org>
42500
42501       • Ankur Gupta <7876747+ankur0493@users.noreply.github.com>
42502
42503       • Maciej Zimnoch <maciej@scylladb.com>
42504
42505       • anuar45 <serdaliyev.anuar@gmail.com>
42506
42507       • Fernando <ferferga@users.noreply.github.com>
42508
42509       • David Cole <david.cole@sohonet.com>
42510
42511       • Wei He <git@weispot.com>
42512
42513       • Outvi V <19144373+outloudvi@users.noreply.github.com>
42514
42515       • Thomas Kriechbaumer <thomas@kriechbaumer.name>
42516
42517       • Tennix <tennix@users.noreply.github.com>
42518
42519       • Ole Schütt <ole@schuett.name>
42520
42521       • Kuang-che Wu <kcwu@csie.org>
42522
42523       • Thomas Eales <wingsuit@users.noreply.github.com>
42524
42525       • Paul Tinsley <paul.tinsley@vitalsource.com>
42526
42527       • Felix Hungenberg <git@shiftgeist.com>
42528
42529       • Benjamin Richter <github@dev.telepath.de>
42530
42531       • landall <cst_zf@qq.com>
42532
42533       • thestigma <thestigma@gmail.com>
42534
42535       • jtagcat <38327267+jtagcat@users.noreply.github.com>
42536
42537       • Damon Permezel <permezel@me.com>
42538
42539       • boosh <boosh@users.noreply.github.com>
42540
42541       • unbelauscht <58393353+unbelauscht@users.noreply.github.com>
42542
42543       • Motonori IWAMURO <vmi@nifty.com>
42544
42545       • Benjapol Worakan <benwrk@live.com>
42546
42547       • Dave Koston <dave.koston@stackpath.com>
42548
42549       • Durval Menezes <DurvalMenezes@users.noreply.github.com>
42550
42551       • Tim Gallant <me@timgallant.us>
42552
42553       • Frederick Zhang <frederick888@tsundere.moe>
42554
42555       • valery1707 <valery1707@gmail.com>
42556
42557       • Yves G <theYinYeti@yalis.fr>
42558
42559       • Shing Kit Chan <chanshingkit@gmail.com>
42560
42561       • Franklyn Tackitt <franklyn@tackitt.net>
42562
42563       • Robert-André Mauchin <zebob.m@gmail.com>
42564
42565       • evileye <48332831+ibiruai@users.noreply.github.com>
42566
42567       • Joachim Brandon LeBlanc <brandon@leblanc.codes>
42568
42569       • Patryk Jakuszew <patryk.jakuszew@gmail.com>
42570
42571       • fishbullet <shindu666@gmail.com>
42572
42573       • greatroar <@>
42574
42575       • Bernd Schoolmann <mail@quexten.com>
42576
42577       • Elan Ruusamäe <glen@pld-linux.org>
42578
42579       • Max Sum <max@lolyculture.com>
42580
42581       • Mark Spieth <mspieth@users.noreply.github.com>
42582
42583       • harry <me@harry.plus>
42584
42585       • Samantha McVey <samantham@posteo.net>
42586
42587       • Jack Anderson <jack.anderson@metaswitch.com>
42588
42589       • Michael G <draget@speciesm.net>
42590
42591       • Brandon Philips <brandon@ifup.org>
42592
42593       • Daven <dooven@users.noreply.github.com>
42594
42595       • Martin Stone <martin@d7415.co.uk>
42596
42597       • David Bramwell <13053834+dbramwell@users.noreply.github.com>
42598
42599       • Sunil Patra <snl_su@live.com>
42600
42601       • Adam Stroud <adam.stroud@gmail.com>
42602
42603       • Kush <kushsharma@users.noreply.github.com>
42604
42605       • Matan Rosenberg <matan129@gmail.com>
42606
42607       • gitch1 <63495046+gitch1@users.noreply.github.com>
42608
42609       • ElonH <elonhhuang@gmail.com>
42610
42611       • Fred <fred@creativeprojects.tech>
42612
42613       • Sébastien Gross <renard@users.noreply.github.com>
42614
42615       • Maxime Suret <11944422+msuret@users.noreply.github.com>
42616
42617       • Caleb Case <caleb@storj.io> <calebcase@gmail.com>
42618
42619       • Ben Zenker <imbenzenker@gmail.com>
42620
42621       • Martin Michlmayr <tbm@cyrius.com>
42622
42623       • Brandon McNama <bmcnama@pagerduty.com>
42624
42625       • Daniel Slyman <github@skylayer.eu>
42626
42627       • Alex Guerrero <guerrero@users.noreply.github.com>
42628
42629       • Matteo Pietro Dazzi <matteopietro.dazzi@gft.com>
42630
42631       • edwardxml <56691903+edwardxml@users.noreply.github.com>
42632
42633       • Roman Kredentser <shareed2k@gmail.com>
42634
42635       • Kamil Trzciński <ayufan@ayufan.eu>
42636
42637       • Zac Rubin <z-0@users.noreply.github.com>
42638
42639       • Vincent Feltz <psycho@feltzv.fr>
42640
42641       • Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de>
42642
42643       • Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com>
42644
42645       • jtagcat <gitlab@c7.ee>
42646
42647       • Petri Salminen <petri@salminen.dev>
42648
42649       • Tim Burke <tim.burke@gmail.com>
42650
42651       • Kai Lüke <kai@kinvolk.io>
42652
42653       • Garrett Squire <github@garrettsquire.com>
42654
42655       • Evan Harris <eharris@puremagic.com>
42656
42657       • Kevin <keyam@microsoft.com>
42658
42659       • Morten Linderud <morten@linderud.pw>
42660
42661       • Dmitry Ustalov <dmitry.ustalov@gmail.com>
42662
42663       • Jack <196648+jdeng@users.noreply.github.com>
42664
42665       • kcris <cristian.tarsoaga@gmail.com>
42666
42667       • tyhuber1 <68970760+tyhuber1@users.noreply.github.com>
42668
42669       • David Ibarra <david.ibarra@realty.com>
42670
42671       • Tim Gallant <tim@lilt.com>
42672
42673       • Kaloyan Raev <kaloyan@storj.io>
42674
42675       • Jay McEntire <jay.mcentire@gmail.com>
42676
42677       • Leo Luan <leoluan@us.ibm.com>
42678
42679       • aus <549081+aus@users.noreply.github.com>
42680
42681       • Aaron Gokaslan <agokaslan@fb.com>
42682
42683       • Egor Margineanu <egmar@users.noreply.github.com>
42684
42685       • Lucas Kanashiro <lucas.kanashiro@canonical.com>
42686
42687       • WarpedPixel <WarpedPixel@users.noreply.github.com>
42688
42689       • Sam Edwards <sam@samedwards.ca>
42690
42691       • wjielai <gouki0123@gmail.com>
42692
42693       • Muffin King <jinxz_k@live.com>
42694
42695       • Christopher Stewart <6573710+1f47a@users.noreply.github.com>
42696
42697       • Russell Cattelan <cattelan@digitalelves.com>
42698
42699       • gyutw <30371241+gyutw@users.noreply.github.com>
42700
42701       • Hekmon <edouardhur@gmail.com>
42702
42703       • LaSombra <lasombra@users.noreply.github.com>
42704
42705       • Dov Murik <dov.murik@gmail.com>
42706
42707       • Ameer Dawood <ameer1234567890@gmail.com>
42708
42709       • Dan Hipschman <dan.hipschman@opendoor.com>
42710
42711       • Josh Soref <jsoref@users.noreply.github.com>
42712
42713       • David <david@staron.nl>
42714
42715       • Ingo <ingo@hoffmann.cx>
42716
42717       • Adam    Plánský   <adamplansky@users.noreply.github.com>   <adamplan‐
42718         sky@gmail.com>
42719
42720       • Manish Gupta <manishgupta.ait@gmail.com>
42721
42722       • Deepak Sah <sah.sslpu@gmail.com>
42723
42724       • Marcin Zelent <marcin@zelent.net>
42725
42726       • zhucan <zhucan.k8s@gmail.com>
42727
42728       • James Lim <james.lim@samsara.com>
42729
42730       • Laurens Janssen <BD69BM@insim.biz>
42731
42732       • Bob Bagwill <bobbagwill@gmail.com>
42733
42734       • Nathan Collins <colli372@msu.edu>
42735
42736       • lostheli
42737
42738       • kelv <kelvin@acks.org>
42739
42740       • Milly <milly.ca@gmail.com>
42741
42742       • gtorelly <gtorelly@gmail.com>
42743
42744       • Brad Ackerman <brad@facefault.org>
42745
42746       • Mitsuo Heijo <mitsuo.heijo@gmail.com>
42747
42748       • Claudio Bantaloukas <rockdreamer@gmail.com>
42749
42750       • Benjamin Gustin <gustin.ben@gmail.com>
42751
42752       • Ingo Weiss <ingo@redhat.com>
42753
42754       • Kerry Su <me@sshockwave.net>
42755
42756       • Ilyess Bachiri <ilyess.bachiri@sonder.com>
42757
42758       • Yury Stankevich <urykhy@gmail.com>
42759
42760       • kice <wslikerqs@gmail.com>
42761
42762       • Denis Neuling <denisneuling@gmail.com>
42763
42764       • Janne Johansson <icepic.dz@gmail.com>
42765
42766       • Patrik Nordlén <patriki@gmail.com>
42767
42768       • CokeMine <aptx4561@gmail.com>
42769
42770       • Sơn Trần-Nguyễn <github@sntran.com>
42771
42772       • lluuaapp <266615+lluuaapp@users.noreply.github.com>
42773
42774       • Zach Kipp <kipp.zach@gmail.com>
42775
42776       • Riccardo Iaconelli <riccardo@kde.org>
42777
42778       • Sakuragawa Misty <gyc990326@gmail.com>
42779
42780       • Nicolas Rueff <nicolas@rueff.fr>
42781
42782       • Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
42783
42784       • Bob Pusateri <BobPusateri@users.noreply.github.com>
42785
42786       • Alex JOST <25005220+dimejo@users.noreply.github.com>
42787
42788       • Alexey Tabakman <samosad.ru@gmail.com>
42789
42790       • David Sze <sze.david@gmail.com>
42791
42792       • cynthia kwok <cynthia.m.kwok@gmail.com>
42793
42794       • Miron Veryanskiy <MironVeryanskiy@gmail.com>
42795
42796       • K265 <k.265@qq.com>
42797
42798       • Vesnyx <Vesnyx@users.noreply.github.com>
42799
42800       • Dmitry Chepurovskiy <me@dm3ch.net>
42801
42802       • Rauno Ots <rauno.ots@cgi.com>
42803
42804       • Georg Neugschwandtner <georg.neugschwandtner@gmx.net>
42805
42806       • pvalls <polvallsrue@gmail.com>
42807
42808       • Robert Thomas <31854736+wolveix@users.noreply.github.com>
42809
42810       • Romeo Kienzler <romeo.kienzler@gmail.com>
42811
42812       • tYYGH <tYYGH@users.noreply.github.com>
42813
42814       • georne <77802995+georne@users.noreply.github.com>
42815
42816       • Maxwell Calman <mcalman@MacBook-Pro.local>
42817
42818       • Naveen Honest Raj <naveendurai19@gmail.com>
42819
42820       • Lucas Messenger <lmesseng@cisco.com>
42821
42822       • Manish Kumar <krmanish260@gmail.com>
42823
42824       • x0b <x0bdev@gmail.com>
42825
42826       • CERN through the CS3MESH4EOSC Project
42827
42828       • Nick Gaya <nicholasgaya+github@gmail.com>
42829
42830       • Ashok Gelal <401055+ashokgelal@users.noreply.github.com>
42831
42832       • Dominik Mydlil <dominik.mydlil@outlook.com>
42833
42834       • Nazar Mishturak <nazarmx@gmail.com>
42835
42836       • Ansh Mittal <iamAnshMittal@gmail.com>
42837
42838       • noabody <noabody@yahoo.com>
42839
42840       • OleFrost <82263101+olefrost@users.noreply.github.com>
42841
42842       • Kenny Parsons <kennyparsons93@gmail.com>
42843
42844       • Jeffrey Tolar <tolar.jeffrey@gmail.com>
42845
42846       • jtagcat <git-514635f7@jtag.cat>
42847
42848       • Tatsuya      Noyori       <63089076+public-tatsuya-noyori@users.nore‐
42849         ply.github.com>
42850
42851       • lewisxy <lewisxy@users.noreply.github.com>
42852
42853       • Nolan Woods <nolan_w@sfu.ca>
42854
42855       • Gautam Kumar <25435568+gautamajay52@users.noreply.github.com>
42856
42857       • Chris Macklin <chris.macklin@10xgenomics.com>
42858
42859       • Antoon Prins <antoon.prins@surfsara.nl>
42860
42861       • Alexey Ivanov <rbtz@dropbox.com>
42862
42863       • Serge Pouliquen <sp31415@free.fr>
42864
42865       • acsfer <carlos@reendex.com>
42866
42867       • Tom <tom@tom-fitzhenry.me.uk>
42868
42869       • Tyson Moore <tyson@tyson.me>
42870
42871       • database64128 <free122448@hotmail.com>
42872
42873       • Chris Lu <chrislusf@users.noreply.github.com>
42874
42875       • Reid Buzby <reid@rethink.software>
42876
42877       • darrenrhs <darrenrhs@gmail.com>
42878
42879       • Florian Penzkofer <fp@nullptr.de>
42880
42881       • Xuanchen Wu <117010292@link.cuhk.edu.cn>
42882
42883       • partev <petrosyan@gmail.com>
42884
42885       • Dmitry Sitnikov <fo2@inbox.ru>
42886
42887       • Haochen Tong <i@hexchain.org>
42888
42889       • Michael Hanselmann <public@hansmi.ch>
42890
42891       • Chuan Zh <zhchuan7@gmail.com>
42892
42893       • Antoine GIRARD <antoine.girard@sapk.fr>
42894
42895       • Justin Winokur (Jwink3101) <Jwink3101@users.noreply.github.com>
42896
42897       • Mariano Absatz (git) <scm@baby.com.ar>
42898
42899       • Greg Sadetsky <lepetitg@gmail.com>
42900
42901       • yedamo <logindaveye@gmail.com>
42902
42903       • hota <lindwurm.q@gmail.com>
42904
42905       • vinibali <vinibali1@gmail.com>
42906
42907       • Ken Enrique Morel <ken.morel.santana@gmail.com>
42908
42909       • Justin Hellings <justin.hellings@gmail.com>
42910
42911       • Parth Shukla <pparth@pparth.net>
42912
42913       • wzl <wangzl31@outlook.com>
42914
42915       • HNGamingUK <connor@earnshawhome.co.uk>
42916
42917       • Jonta <359397+Jonta@users.noreply.github.com>
42918
42919       • YenForYang <YenForYang@users.noreply.github.com>
42920
42921       • Joda Stößer <stoesser@yay-digital.de> <services+github@simjo.st>
42922
42923       • Logeshwaran <waranlogesh@gmail.com>
42924
42925       • Rajat Goel <rajat@dropbox.com>
42926
42927       • r0kk3rz <r0kk3rz@gmail.com>
42928
42929       • Matthew Sevey <mjsevey@gmail.com>
42930
42931       • Filip Rysavy <fil@siasky.net>
42932
42933       • Ian Levesque <ian@ianlevesque.org>
42934
42935       • Thomas Stachl <thomas@stachl.me>
42936
42937       • Dmitry Bogatov <git#v1@kaction.cc>
42938
42939       • trevyn <trevyn-git@protonmail.com>
42940
42941       • David Liu <david.yx.liu@oracle.com>
42942

Contact the rclone project

42944   Forum
42945       Forum for questions and general discussion:
42946
42947https://forum.rclone.org
42948
42949   GitHub repository
42950       The project's repository is located at:
42951
42952https://github.com/rclone/rclone
42953
42954       There you can file bug reports or contribute with pull requests.
42955
42956   Twitter
42957       You can also follow me on twitter for rclone announcements:
42958
42959       • [@njcw](https://twitter.com/njcw)
42960
42961   Email
42962       Or  if all else fails or you want to ask something private or confiden‐
42963       tial email Nick Craig-Wood (mailto:nick@craig-wood.com).  Please  don't
42964       email  me  requests  for help - those are better directed to the forum.
42965       Thanks!
42966

AUTHORS

42968       Nick Craig-Wood.
42969
42970
42971
42972User Manual                      Nov 01, 2021                        rclone(1)
Impressum