github.com/artpar/rclone@v1.67.3/docs/content/overview.md (about) 1 --- 2 title: "Overview of cloud storage systems" 3 description: "Overview of cloud storage systems" 4 type: page 5 --- 6 7 # Overview of cloud storage systems # 8 9 Each cloud storage system is slightly different. Rclone attempts to 10 provide a unified interface to them, but some underlying differences 11 show through. 12 13 ## Features ## 14 15 Here is an overview of the major features of each cloud storage system. 16 17 | Name | Hash | ModTime | Case Insensitive | Duplicate Files | MIME Type | Metadata | 18 | ---------------------------- |:-----------------:|:-------:|:----------------:|:---------------:|:---------:|:--------:| 19 | 1Fichier | Whirlpool | - | No | Yes | R | - | 20 | Akamai Netstorage | MD5, SHA256 | R/W | No | No | R | - | 21 | Amazon S3 (or S3 compatible) | MD5 | R/W | No | No | R/W | RWU | 22 | Backblaze B2 | SHA1 | R/W | No | No | R/W | - | 23 | Box | SHA1 | R/W | Yes | No | - | - | 24 | Citrix ShareFile | MD5 | R/W | Yes | No | - | - | 25 | Dropbox | DBHASH ¹ | R | Yes | No | - | - | 26 | Enterprise File Fabric | - | R/W | Yes | No | R/W | - | 27 | FTP | - | R/W ¹⁰ | No | No | - | - | 28 | Google Cloud Storage | MD5 | R/W | No | No | R/W | - | 29 | Google Drive | MD5, SHA1, SHA256 | DR/W | No | Yes | R/W | DRWU | 30 | Google Photos | - | - | No | Yes | R | - | 31 | HDFS | - | R/W | No | No | - | - | 32 | HiDrive | HiDrive ¹² | R/W | No | No | - | - | 33 | HTTP | - | R | No | No | R | - | 34 | Internet Archive | MD5, SHA1, CRC32 | R/W ¹¹ | No | No | - | RWU | 35 | Jottacloud | MD5 | R/W | Yes | No | R | RW | 36 | Koofr | MD5 | - | Yes | No | - | - | 37 | Linkbox | - | R | No | No | - | - | 38 | Mail.ru Cloud | Mailru ⁶ | R/W | Yes | No | - | - | 39 | Mega | - | - | No | Yes | - | - | 40 | Memory | MD5 | R/W | No | No | - | - | 41 | Microsoft Azure Blob Storage | MD5 | R/W | No | No | R/W | - | 42 | Microsoft Azure Files Storage | MD5 | R/W | Yes | No | R/W | - | 43 | Microsoft OneDrive | QuickXorHash ⁵ | DR/W | Yes | No | R | DRW | 44 | OpenDrive | MD5 | R/W | Yes | Partial ⁸ | - | - | 45 | OpenStack Swift | MD5 | R/W | No | No | R/W | - | 46 | Oracle Object Storage | MD5 | R/W | No | No | R/W | - | 47 | pCloud | MD5, SHA1 ⁷ | R | No | No | W | - | 48 | PikPak | MD5 | R | No | No | R | - | 49 | premiumize.me | - | - | Yes | No | R | - | 50 | put.io | CRC-32 | R/W | No | Yes | R | - | 51 | Proton Drive | SHA1 | R/W | No | No | R | - | 52 | QingStor | MD5 | - ⁹ | No | No | R/W | - | 53 | Quatrix by Maytech | - | R/W | No | No | - | - | 54 | Seafile | - | - | No | No | - | - | 55 | SFTP | MD5, SHA1 ² | DR/W | Depends | No | - | - | 56 | Sia | - | - | No | No | - | - | 57 | SMB | - | R/W | Yes | No | - | - | 58 | SugarSync | - | - | No | No | - | - | 59 | Storj | - | R | No | No | - | - | 60 | Uloz.to | MD5, SHA256 ¹³ | - | No | Yes | - | - | 61 | Uptobox | - | - | No | Yes | - | - | 62 | WebDAV | MD5, SHA1 ³ | R ⁴ | Depends | No | - | - | 63 | Yandex Disk | MD5 | R/W | No | No | R | - | 64 | Zoho WorkDrive | - | - | No | No | - | - | 65 | The local filesystem | All | DR/W | Depends | No | - | DRWU | 66 67 ¹ Dropbox supports [its own custom 68 hash](https://www.dropbox.com/developers/reference/content-hash). 69 This is an SHA256 sum of all the 4 MiB block SHA256s. 70 71 ² SFTP supports checksums if the same login has shell access and 72 `md5sum` or `sha1sum` as well as `echo` are in the remote's PATH. 73 74 ³ WebDAV supports hashes when used with Fastmail Files, Owncloud and Nextcloud only. 75 76 ⁴ WebDAV supports modtimes when used with Fastmail Files, Owncloud and Nextcloud only. 77 78 ⁵ [QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash) is Microsoft's own hash. 79 80 ⁶ Mail.ru uses its own modified SHA1 hash 81 82 ⁷ pCloud only supports SHA1 (not MD5) in its EU region 83 84 ⁸ Opendrive does not support creation of duplicate files using 85 their web client interface or other stock clients, but the underlying 86 storage platform has been determined to allow duplicate files, and it 87 is possible to create them with `rclone`. It may be that this is a 88 mistake or an unsupported feature. 89 90 ⁹ QingStor does not support SetModTime for objects bigger than 5 GiB. 91 92 ¹⁰ FTP supports modtimes for the major FTP servers, and also others 93 if they advertised required protocol extensions. See [this](/ftp/#modification-times) 94 for more details. 95 96 ¹¹ Internet Archive requires option `wait_archive` to be set to a non-zero value 97 for full modtime support. 98 99 ¹² HiDrive supports [its own custom 100 hash](https://static.hidrive.com/dev/0001). 101 It combines SHA1 sums for each 4 KiB block hierarchically to a single 102 top-level sum. 103 104 ¹³ Uloz.to provides server-calculated MD5 hash upon file upload. MD5 and SHA256 105 hashes are client-calculated and stored as metadata fields. 106 107 ### Hash ### 108 109 The cloud storage system supports various hash types of the objects. 110 The hashes are used when transferring data as an integrity check and 111 can be specifically used with the `--checksum` flag in syncs and in 112 the `check` command. 113 114 To use the verify checksums when transferring between cloud storage 115 systems they must support a common hash type. 116 117 ### ModTime ### 118 119 Almost all cloud storage systems store some sort of timestamp 120 on objects, but several of them not something that is appropriate 121 to use for syncing. E.g. some backends will only write a timestamp 122 that represents the time of the upload. To be relevant for syncing 123 it should be able to store the modification time of the source 124 object. If this is not the case, rclone will only check the file 125 size by default, though can be configured to check the file hash 126 (with the `--checksum` flag). Ideally it should also be possible to 127 change the timestamp of an existing file without having to re-upload it. 128 129 | Key | Explanation | 130 |-----|-------------| 131 | `-` | ModTimes not supported - times likely the upload time | 132 | `R` | ModTimes supported on files but can't be changed without re-upload | 133 | `R/W` | Read and Write ModTimes fully supported on files | 134 | `DR` | ModTimes supported on files and directories but can't be changed without re-upload | 135 | `DR/W` | Read and Write ModTimes fully supported on files and directories | 136 137 Storage systems with a `-` in the ModTime column, means the 138 modification read on objects is not the modification time of the 139 file when uploaded. It is most likely the time the file was uploaded, 140 or possibly something else (like the time the picture was taken in 141 Google Photos). 142 143 Storage systems with a `R` (for read-only) in the ModTime column, 144 means the it keeps modification times on objects, and updates them 145 when uploading objects, but it does not support changing only the 146 modification time (`SetModTime` operation) without re-uploading, 147 possibly not even without deleting existing first. Some operations 148 in rclone, such as `copy` and `sync` commands, will automatically 149 check for `SetModTime` support and re-upload if necessary to keep 150 the modification times in sync. Other commands will not work 151 without `SetModTime` support, e.g. `touch` command on an existing 152 file will fail, and changes to modification time only on a files 153 in a `mount` will be silently ignored. 154 155 Storage systems with `R/W` (for read/write) in the ModTime column, 156 means they do also support modtime-only operations. 157 158 Storage systems with `D` in the ModTime column means that the 159 following symbols apply to directories as well as files. 160 161 ### Case Insensitive ### 162 163 If a cloud storage systems is case sensitive then it is possible to 164 have two files which differ only in case, e.g. `file.txt` and 165 `FILE.txt`. If a cloud storage system is case insensitive then that 166 isn't possible. 167 168 This can cause problems when syncing between a case insensitive 169 system and a case sensitive system. The symptom of this is that no 170 matter how many times you run the sync it never completes fully. 171 172 The local filesystem and SFTP may or may not be case sensitive 173 depending on OS. 174 175 * Windows - usually case insensitive, though case is preserved 176 * OSX - usually case insensitive, though it is possible to format case sensitive 177 * Linux - usually case sensitive, but there are case insensitive file systems (e.g. FAT formatted USB keys) 178 179 Most of the time this doesn't cause any problems as people tend to 180 avoid files whose name differs only by case even on case sensitive 181 systems. 182 183 ### Duplicate files ### 184 185 If a cloud storage system allows duplicate files then it can have two 186 objects with the same name. 187 188 This confuses rclone greatly when syncing - use the `rclone dedupe` 189 command to rename or remove duplicates. 190 191 ### Restricted filenames ### 192 193 Some cloud storage systems might have restrictions on the characters 194 that are usable in file or directory names. 195 When `rclone` detects such a name during a file upload, it will 196 transparently replace the restricted characters with similar looking 197 Unicode characters. To handle the different sets of restricted characters 198 for different backends, rclone uses something it calls [encoding](#encoding). 199 200 This process is designed to avoid ambiguous file names as much as 201 possible and allow to move files between many cloud storage systems 202 transparently. 203 204 The name shown by `rclone` to the user or during log output will only 205 contain a minimal set of [replaced characters](#restricted-characters) 206 to ensure correct formatting and not necessarily the actual name used 207 on the cloud storage. 208 209 This transformation is reversed when downloading a file or parsing 210 `rclone` arguments. For example, when uploading a file named `my file?.txt` 211 to Onedrive, it will be displayed as `my file?.txt` on the console, but 212 stored as `my file?.txt` to Onedrive (the `?` gets replaced by the similar 213 looking `?` character, the so-called "fullwidth question mark"). 214 The reverse transformation allows to read a file `unusual/name.txt` 215 from Google Drive, by passing the name `unusual/name.txt` on the command line 216 (the `/` needs to be replaced by the similar looking `/` character). 217 218 #### Caveats {#restricted-filenames-caveats} 219 220 The filename encoding system works well in most cases, at least 221 where file names are written in English or similar languages. 222 You might not even notice it: It just works. In some cases it may 223 lead to issues, though. E.g. when file names are written in Chinese, 224 or Japanese, where it is always the Unicode fullwidth variants of the 225 punctuation marks that are used. 226 227 On Windows, the characters `:`, `*` and `?` are examples of restricted 228 characters. If these are used in filenames on a remote that supports it, 229 Rclone will transparently convert them to their fullwidth Unicode 230 variants `*`, `?` and `:` when downloading to Windows, and back again 231 when uploading. This way files with names that are not allowed on Windows 232 can still be stored. 233 234 However, if you have files on your Windows system originally with these same 235 Unicode characters in their names, they will be included in the same conversion 236 process. E.g. if you create a file in your Windows filesystem with name 237 `Test:1.jpg`, where `:` is the Unicode fullwidth colon symbol, and use 238 rclone to upload it to Google Drive, which supports regular `:` (halfwidth 239 question mark), rclone will replace the fullwidth `:` with the 240 halfwidth `:` and store the file as `Test:1.jpg` in Google Drive. Since 241 both Windows and Google Drive allows the name `Test:1.jpg`, it would 242 probably be better if rclone just kept the name as is in this case. 243 244 With the opposite situation; if you have a file named `Test:1.jpg`, 245 in your Google Drive, e.g. uploaded from a Linux system where `:` is valid 246 in file names. Then later use rclone to copy this file to your Windows 247 computer you will notice that on your local disk it gets renamed 248 to `Test:1.jpg`. The original filename is not legal on Windows, due to 249 the `:`, and rclone therefore renames it to make the copy possible. 250 That is all good. However, this can also lead to an issue: If you already 251 had a *different* file named `Test:1.jpg` on Windows, and then use rclone 252 to copy either way. Rclone will then treat the file originally named 253 `Test:1.jpg` on Google Drive and the file originally named `Test:1.jpg` 254 on Windows as the same file, and replace the contents from one with the other. 255 256 Its virtually impossible to handle all cases like these correctly in all 257 situations, but by customizing the [encoding option](#encoding), changing the 258 set of characters that rclone should convert, you should be able to 259 create a configuration that works well for your specific situation. 260 See also the [example](/overview/#encoding-example-windows) below. 261 262 (Windows was used as an example of a file system with many restricted 263 characters, and Google drive a storage system with few.) 264 265 #### Default restricted characters {#restricted-characters} 266 267 The table below shows the characters that are replaced by default. 268 269 When a replacement character is found in a filename, this character 270 will be escaped with the `‛` character to avoid ambiguous file names. 271 (e.g. a file named `␀.txt` would shown as `‛␀.txt`) 272 273 Each cloud storage backend can use a different set of characters, 274 which will be specified in the documentation for each backend. 275 276 | Character | Value | Replacement | 277 | --------- |:-----:|:-----------:| 278 | NUL | 0x00 | ␀ | 279 | SOH | 0x01 | ␁ | 280 | STX | 0x02 | ␂ | 281 | ETX | 0x03 | ␃ | 282 | EOT | 0x04 | ␄ | 283 | ENQ | 0x05 | ␅ | 284 | ACK | 0x06 | ␆ | 285 | BEL | 0x07 | ␇ | 286 | BS | 0x08 | ␈ | 287 | HT | 0x09 | ␉ | 288 | LF | 0x0A | ␊ | 289 | VT | 0x0B | ␋ | 290 | FF | 0x0C | ␌ | 291 | CR | 0x0D | ␍ | 292 | SO | 0x0E | ␎ | 293 | SI | 0x0F | ␏ | 294 | DLE | 0x10 | ␐ | 295 | DC1 | 0x11 | ␑ | 296 | DC2 | 0x12 | ␒ | 297 | DC3 | 0x13 | ␓ | 298 | DC4 | 0x14 | ␔ | 299 | NAK | 0x15 | ␕ | 300 | SYN | 0x16 | ␖ | 301 | ETB | 0x17 | ␗ | 302 | CAN | 0x18 | ␘ | 303 | EM | 0x19 | ␙ | 304 | SUB | 0x1A | ␚ | 305 | ESC | 0x1B | ␛ | 306 | FS | 0x1C | ␜ | 307 | GS | 0x1D | ␝ | 308 | RS | 0x1E | ␞ | 309 | US | 0x1F | ␟ | 310 | / | 0x2F | / | 311 | DEL | 0x7F | ␡ | 312 313 The default encoding will also encode these file names as they are 314 problematic with many cloud storage systems. 315 316 | File name | Replacement | 317 | --------- |:-----------:| 318 | . | . | 319 | .. | .. | 320 321 #### Invalid UTF-8 bytes {#invalid-utf8} 322 323 Some backends only support a sequence of well formed UTF-8 bytes 324 as file or directory names. 325 326 In this case all invalid UTF-8 bytes will be replaced with a quoted 327 representation of the byte value to allow uploading a file to such a 328 backend. For example, the invalid byte `0xFE` will be encoded as `‛FE`. 329 330 A common source of invalid UTF-8 bytes are local filesystems, that store 331 names in a different encoding than UTF-8 or UTF-16, like latin1. See the 332 [local filenames](/local/#filenames) section for details. 333 334 #### Encoding option {#encoding} 335 336 Most backends have an encoding option, specified as a flag 337 `--backend-encoding` where `backend` is the name of the backend, or as 338 a config parameter `encoding` (you'll need to select the Advanced 339 config in `rclone config` to see it). 340 341 This will have default value which encodes and decodes characters in 342 such a way as to preserve the maximum number of characters (see 343 above). 344 345 However this can be incorrect in some scenarios, for example if you 346 have a Windows file system with Unicode fullwidth characters 347 `*`, `?` or `:`, that you want to remain as those characters on the 348 remote rather than being translated to regular (halfwidth) `*`, `?` and `:`. 349 350 The `--backend-encoding` flags allow you to change that. You can 351 disable the encoding completely with `--backend-encoding None` or set 352 `encoding = None` in the config file. 353 354 Encoding takes a comma separated list of encodings. You can see the 355 list of all possible values by passing an invalid value to this 356 flag, e.g. `--local-encoding "help"`. The command `rclone help flags encoding` 357 will show you the defaults for the backends. 358 359 | Encoding | Characters | Encoded as | 360 | --------- | ---------- | ---------- | 361 | Asterisk | `*` | `*` | 362 | BackQuote | `` ` `` | ``` | 363 | BackSlash | `\` | `\` | 364 | Colon | `:` | `:` | 365 | CrLf | CR 0x0D, LF 0x0A | `␍`, `␊` | 366 | Ctl | All control characters 0x00-0x1F | `␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟` | 367 | Del | DEL 0x7F | `␡` | 368 | Dollar | `$` | `$` | 369 | Dot | `.` or `..` as entire string | `.`, `..` | 370 | DoubleQuote | `"` | `"` | 371 | Hash | `#` | `#` | 372 | InvalidUtf8 | An invalid UTF-8 character (e.g. latin1) | `�` | 373 | LeftCrLfHtVt | CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the left of a string | `␍`, `␊`, `␉`, `␋` | 374 | LeftPeriod | `.` on the left of a string | `.` | 375 | LeftSpace | SPACE on the left of a string | `␠` | 376 | LeftTilde | `~` on the left of a string | `~` | 377 | LtGt | `<`, `>` | `<`, `>` | 378 | None | No characters are encoded | | 379 | Percent | `%` | `%` | 380 | Pipe | \| | `|` | 381 | Question | `?` | `?` | 382 | RightCrLfHtVt | CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the right of a string | `␍`, `␊`, `␉`, `␋` | 383 | RightPeriod | `.` on the right of a string | `.` | 384 | RightSpace | SPACE on the right of a string | `␠` | 385 | Semicolon | `;` | `;` | 386 | SingleQuote | `'` | `'` | 387 | Slash | `/` | `/` | 388 | SquareBracket | `[`, `]` | `[`, `]` | 389 390 ##### Encoding example: FTP 391 392 To take a specific example, the FTP backend's default encoding is 393 394 --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot" 395 396 However, let's say the FTP server is running on Windows and can't have 397 any of the invalid Windows characters in file names. You are backing 398 up Linux servers to this FTP server which do have those characters in 399 file names. So you would add the Windows set which are 400 401 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot 402 403 to the existing ones, giving: 404 405 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace 406 407 This can be specified using the `--ftp-encoding` flag or using an `encoding` parameter in the config file. 408 409 ##### Encoding example: Windows 410 411 As a nother example, take a Windows system where there is a file with 412 name `Test:1.jpg`, where `:` is the Unicode fullwidth colon symbol. 413 When using rclone to copy this to a remote which supports `:`, 414 the regular (halfwidth) colon (such as Google Drive), you will notice 415 that the file gets renamed to `Test:1.jpg`. 416 417 To avoid this you can change the set of characters rclone should convert 418 for the local filesystem, using command-line argument `--local-encoding`. 419 Rclone's default behavior on Windows corresponds to 420 421 ``` 422 --local-encoding "Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" 423 ``` 424 425 If you want to use fullwidth characters `:`, `*` and `?` in your filenames 426 without rclone changing them when uploading to a remote, then set the same as 427 the default value but without `Colon,Question,Asterisk`: 428 429 ``` 430 --local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot" 431 ``` 432 433 Alternatively, you can disable the conversion of any characters with `--local-encoding None`. 434 435 Instead of using command-line argument `--local-encoding`, you may also set it 436 as [environment variable](/docs/#environment-variables) `RCLONE_LOCAL_ENCODING`, 437 or [configure](/docs/#configure) a remote of type `local` in your config, 438 and set the `encoding` option there. 439 440 The risk by doing this is that if you have a filename with the regular (halfwidth) 441 `:`, `*` and `?` in your cloud storage, and you try to download 442 it to your Windows filesystem, this will fail. These characters are not 443 valid in filenames on Windows, and you have told rclone not to work around 444 this by converting them to valid fullwidth variants. 445 446 ### MIME Type ### 447 448 MIME types (also known as media types) classify types of documents 449 using a simple text classification, e.g. `text/html` or 450 `application/pdf`. 451 452 Some cloud storage systems support reading (`R`) the MIME type of 453 objects and some support writing (`W`) the MIME type of objects. 454 455 The MIME type can be important if you are serving files directly to 456 HTTP from the storage system. 457 458 If you are copying from a remote which supports reading (`R`) to a 459 remote which supports writing (`W`) then rclone will preserve the MIME 460 types. Otherwise they will be guessed from the extension, or the 461 remote itself may assign the MIME type. 462 463 ### Metadata 464 465 Backends may or may support reading or writing metadata. They may 466 support reading and writing system metadata (metadata intrinsic to 467 that backend) and/or user metadata (general purpose metadata). 468 469 The levels of metadata support are 470 471 | Key | Explanation | 472 |-----|-------------| 473 | `R` | Read only System Metadata on files only| 474 | `RW` | Read and write System Metadata on files only| 475 | `RWU` | Read and write System Metadata and read and write User Metadata on files only| 476 | `DR` | Read only System Metadata on files and directories | 477 | `DRW` | Read and write System Metadata on files and directories| 478 | `DRWU` | Read and write System Metadata and read and write User Metadata on files and directories | 479 480 See [the metadata docs](/docs/#metadata) for more info. 481 482 ## Optional Features ## 483 484 All rclone remotes support a base command set. Other features depend 485 upon backend-specific capabilities. 486 487 | Name | Purge | Copy | Move | DirMove | CleanUp | ListR | StreamUpload | MultithreadUpload | LinkSharing | About | EmptyDir | 488 | ---------------------------- |:-----:|:----:|:----:|:-------:|:-------:|:-----:|:------------:|:------------------|:------------:|:-----:|:--------:| 489 | 1Fichier | No | Yes | Yes | No | No | No | No | No | Yes | No | Yes | 490 | Akamai Netstorage | Yes | No | No | No | No | Yes | Yes | No | No | No | Yes | 491 | Amazon S3 (or S3 compatible) | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | No | 492 | Backblaze B2 | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | No | 493 | Box | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | 494 | Citrix ShareFile | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes | 495 | Dropbox | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes | 496 | Enterprise File Fabric | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | 497 | FTP | No | No | Yes | Yes | No | No | Yes | No | No | No | Yes | 498 | Google Cloud Storage | Yes | Yes | No | No | No | Yes | Yes | No | No | No | No | 499 | Google Drive | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | 500 | Google Photos | No | No | No | No | No | No | No | No | No | No | No | 501 | HDFS | Yes | No | Yes | Yes | No | No | Yes | No | No | Yes | Yes | 502 | HiDrive | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | Yes | 503 | HTTP | No | No | No | No | No | No | No | No | No | No | Yes | 504 | ImageKit | Yes | Yes | Yes | No | No | No | No | No | No | No | Yes | 505 | Internet Archive | No | Yes | No | No | Yes | Yes | No | No | Yes | Yes | No | 506 | Jottacloud | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | 507 | Koofr | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes | 508 | Mail.ru Cloud | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | 509 | Mega | Yes | No | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | 510 | Memory | No | Yes | No | No | No | Yes | Yes | No | No | No | No | 511 | Microsoft Azure Blob Storage | Yes | Yes | No | No | No | Yes | Yes | Yes | No | No | No | 512 | Microsoft Azure Files Storage | No | Yes | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes | 513 | Microsoft OneDrive | Yes | Yes | Yes | Yes | Yes | Yes ⁵ | No | No | Yes | Yes | Yes | 514 | OpenDrive | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes | 515 | OpenStack Swift | Yes ¹ | Yes | No | No | No | Yes | Yes | No | No | Yes | No | 516 | Oracle Object Storage | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | 517 | pCloud | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | 518 | PikPak | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | 519 | premiumize.me | Yes | No | Yes | Yes | No | No | No | No | Yes | Yes | Yes | 520 | put.io | Yes | No | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | 521 | Proton Drive | Yes | No | Yes | Yes | Yes | No | No | No | No | Yes | Yes | 522 | QingStor | No | Yes | No | No | Yes | Yes | No | No | No | No | No | 523 | Quatrix by Maytech | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | 524 | Seafile | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | 525 | SFTP | No | Yes ⁴| Yes | Yes | No | No | Yes | No | No | Yes | Yes | 526 | Sia | No | No | No | No | No | No | Yes | No | No | No | Yes | 527 | SMB | No | No | Yes | Yes | No | No | Yes | Yes | No | No | Yes | 528 | SugarSync | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No | Yes | 529 | Storj | Yes ² | Yes | Yes | No | No | Yes | Yes | No | Yes | No | No | 530 | Uloz.to | No | No | Yes | Yes | No | No | No | No | No | No | Yes | 531 | Uptobox | No | Yes | Yes | Yes | No | No | No | No | No | No | No | 532 | WebDAV | Yes | Yes | Yes | Yes | No | No | Yes ³ | No | No | Yes | Yes | 533 | Yandex Disk | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | 534 | Zoho WorkDrive | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | 535 | The local filesystem | No | No | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes | 536 537 ¹ Note Swift implements this in order to delete directory markers but 538 it doesn't actually have a quicker way of deleting files other than 539 deleting them individually. 540 541 ² Storj implements this efficiently only for entire buckets. If 542 purging a directory inside a bucket, files are deleted individually. 543 544 ³ StreamUpload is not supported with Nextcloud 545 546 ⁴ Use the `--sftp-copy-is-hardlink` flag to enable. 547 548 ⁵ Use the `--onedrive-delta` flag to enable. 549 550 ### Purge ### 551 552 This deletes a directory quicker than just deleting all the files in 553 the directory. 554 555 ### Copy ### 556 557 Used when copying an object to and from the same remote. This known 558 as a server-side copy so you can copy a file without downloading it 559 and uploading it again. It is used if you use `rclone copy` or 560 `rclone move` if the remote doesn't support `Move` directly. 561 562 If the server doesn't support `Copy` directly then for copy operations 563 the file is downloaded then re-uploaded. 564 565 ### Move ### 566 567 Used when moving/renaming an object on the same remote. This is known 568 as a server-side move of a file. This is used in `rclone move` if the 569 server doesn't support `DirMove`. 570 571 If the server isn't capable of `Move` then rclone simulates it with 572 `Copy` then delete. If the server doesn't support `Copy` then rclone 573 will download the file and re-upload it. 574 575 ### DirMove ### 576 577 This is used to implement `rclone move` to move a directory if 578 possible. If it isn't then it will use `Move` on each file (which 579 falls back to `Copy` then download and upload - see `Move` section). 580 581 ### CleanUp ### 582 583 This is used for emptying the trash for a remote by `rclone cleanup`. 584 585 If the server can't do `CleanUp` then `rclone cleanup` will return an 586 error. 587 588 ‡‡ Note that while Box implements this it has to delete every file 589 individually so it will be slower than emptying the trash via the WebUI 590 591 ### ListR ### 592 593 The remote supports a recursive list to list all the contents beneath 594 a directory quickly. This enables the `--fast-list` flag to work. 595 See the [rclone docs](/docs/#fast-list) for more details. 596 597 ### StreamUpload ### 598 599 Some remotes allow files to be uploaded without knowing the file size 600 in advance. This allows certain operations to work without spooling the 601 file to local disk first, e.g. `rclone rcat`. 602 603 ### MultithreadUpload ### 604 605 Some remotes allow transfers to the remote to be sent as chunks in 606 parallel. If this is supported then rclone will use multi-thread 607 copying to transfer files much faster. 608 609 ### LinkSharing ### 610 611 Sets the necessary permissions on a file or folder and prints a link 612 that allows others to access them, even if they don't have an account 613 on the particular cloud provider. 614 615 ### About ### 616 617 Rclone `about` prints quota information for a remote. Typical output 618 includes bytes used, free, quota and in trash. 619 620 If a remote lacks about capability `rclone about remote:`returns 621 an error. 622 623 Backends without about capability cannot determine free space for an 624 rclone mount, or use policy `mfs` (most free space) as a member of an 625 rclone union remote. 626 627 See [rclone about command](https://rclone.org/commands/rclone_about/) 628 629 ### EmptyDir ### 630 631 The remote supports empty directories. See [Limitations](/bugs/#limitations) 632 for details. Most Object/Bucket-based remotes do not support this.