mirror of
https://github.com/rclone/rclone.git
synced 2026-02-17 18:09:03 +00:00
docs: build overview page from the backend data
This commit is contained in:
@@ -14,105 +14,7 @@ show through.
|
||||
|
||||
Here is an overview of the major features of each cloud storage system.
|
||||
|
||||
| Name | Hash | ModTime | Case Insensitive | Duplicate Files | MIME Type | Metadata |
|
||||
| ---------------------------- |:-----------------:|:-------:|:----------------:|:---------------:|:---------:|:--------:|
|
||||
| 1Fichier | Whirlpool | - | No | Yes | R | - |
|
||||
| Akamai Netstorage | MD5, SHA256 | R/W | No | No | R | - |
|
||||
| Amazon S3 (or S3 compatible) | MD5 | R/W | No | No | R/W | RWU |
|
||||
| Backblaze B2 | SHA1 | R/W | No | No | R/W | - |
|
||||
| Box | SHA1 | R/W | Yes | No | - | - |
|
||||
| Citrix ShareFile | MD5 | R/W | Yes | No | - | - |
|
||||
| Cloudinary | MD5 | R | No | Yes | - | - |
|
||||
| Drime | - | - | No | No | R/W | - |
|
||||
| Dropbox | DBHASH ¹ | R | Yes | No | - | - |
|
||||
| Enterprise File Fabric | - | R/W | Yes | No | R/W | - |
|
||||
| FileLu Cloud Storage | MD5 | R/W | No | Yes | R | - |
|
||||
| Filen | Blake3 | R/W | Yes | No | R/W | - |
|
||||
| Files.com | MD5, CRC32 | DR/W | Yes | No | R | - |
|
||||
| FTP | - | R/W ¹⁰ | No | No | - | - |
|
||||
| Gofile | MD5 | DR/W | No | Yes | R | - |
|
||||
| Google Cloud Storage | MD5 | R/W | No | No | R/W | - |
|
||||
| Google Drive | MD5, SHA1, SHA256 | DR/W | No | Yes | R/W | DRWU |
|
||||
| Google Photos | - | - | No | Yes | R | - |
|
||||
| HDFS | - | R/W | No | No | - | - |
|
||||
| HiDrive | HiDrive ¹² | R/W | No | No | - | - |
|
||||
| HTTP | - | R | No | No | R | R |
|
||||
| iCloud Drive | - | R | No | No | - | - |
|
||||
| Internet Archive | MD5, SHA1, CRC32 | R/W ¹¹ | No | No | - | RWU |
|
||||
| Jottacloud | MD5 | R/W | Yes | No | R | RW |
|
||||
| Koofr | MD5 | - | Yes | No | - | - |
|
||||
| Linkbox | - | R | No | No | - | - |
|
||||
| Mail.ru Cloud | Mailru ⁶ | R/W | Yes | No | - | - |
|
||||
| Mega | - | - | No | Yes | - | - |
|
||||
| Memory | MD5 | R/W | No | No | - | - |
|
||||
| Microsoft Azure Blob Storage | MD5 | R/W | No | No | R/W | - |
|
||||
| Microsoft Azure Files Storage | MD5 | R/W | Yes | No | R/W | - |
|
||||
| Microsoft OneDrive | QuickXorHash ⁵ | DR/W | Yes | No | R | DRW |
|
||||
| OpenDrive | MD5 | R/W | Yes | Partial ⁸ | - | - |
|
||||
| OpenStack Swift | MD5 | R/W | No | No | R/W | - |
|
||||
| Oracle Object Storage | MD5 | R/W | No | No | R/W | RU |
|
||||
| pCloud | MD5, SHA1 ⁷ | R/W | No | No | W | - |
|
||||
| PikPak | MD5 | R | No | No | R | - |
|
||||
| Pixeldrain | SHA256 | R/W | No | No | R | RW |
|
||||
| premiumize.me | - | - | Yes | No | R | - |
|
||||
| put.io | CRC-32 | R/W | No | Yes | R | - |
|
||||
| Proton Drive | SHA1 | R/W | No | No | R | - |
|
||||
| QingStor | MD5 | - ⁹ | No | No | R/W | - |
|
||||
| Quatrix by Maytech | - | R/W | No | No | - | - |
|
||||
| Seafile | - | - | No | No | - | - |
|
||||
| SFTP | MD5, SHA1 ² | DR/W | Depends | No | - | - |
|
||||
| Shade | - | - | Yes | No | - | - |
|
||||
| Sia | - | - | No | No | - | - |
|
||||
| SMB | - | R/W | Yes | No | - | - |
|
||||
| SugarSync | - | - | No | No | - | - |
|
||||
| Storj | - | R | No | No | - | - |
|
||||
| Uloz.to | MD5, SHA256 ¹³ | - | No | Yes | - | - |
|
||||
| WebDAV | MD5, SHA1 ³ | R ⁴ | Depends | No | - | - |
|
||||
| Yandex Disk | MD5 | R/W | No | No | R | - |
|
||||
| Zoho WorkDrive | - | - | No | No | - | - |
|
||||
| The local filesystem | All | DR/W | Depends | No | - | DRWU |
|
||||
|
||||
¹ Dropbox supports [its own custom
|
||||
hash](https://www.dropbox.com/developers/reference/content-hash).
|
||||
This is an SHA256 sum of all the 4 MiB block SHA256s.
|
||||
|
||||
² SFTP supports checksums if the same login has shell access and
|
||||
`md5sum` or `sha1sum` as well as `echo` are in the remote's PATH.
|
||||
|
||||
³ WebDAV supports hashes when used with Fastmail Files, Owncloud and Nextcloud only.
|
||||
|
||||
⁴ WebDAV supports modtimes when used with Fastmail Files, Owncloud and Nextcloud
|
||||
only.
|
||||
|
||||
⁵ [QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash)
|
||||
is Microsoft's own hash.
|
||||
|
||||
⁶ Mail.ru uses its own modified SHA1 hash
|
||||
|
||||
⁷ pCloud only supports SHA1 (not MD5) in its EU region
|
||||
|
||||
⁸ Opendrive does not support creation of duplicate files using
|
||||
their web client interface or other stock clients, but the underlying
|
||||
storage platform has been determined to allow duplicate files, and it
|
||||
is possible to create them with `rclone`. It may be that this is a
|
||||
mistake or an unsupported feature.
|
||||
|
||||
⁹ QingStor does not support SetModTime for objects bigger than 5 GiB.
|
||||
|
||||
¹⁰ FTP supports modtimes for the major FTP servers, and also others
|
||||
if they advertised required protocol extensions. See [this](/ftp/#modification-times)
|
||||
for more details.
|
||||
|
||||
¹¹ Internet Archive requires option `wait_archive` to be set to a non-zero value
|
||||
for full modtime support.
|
||||
|
||||
¹² HiDrive supports [its own custom
|
||||
hash](https://static.hidrive.com/dev/0001).
|
||||
It combines SHA1 sums for each 4 KiB block hierarchically to a single
|
||||
top-level sum.
|
||||
|
||||
¹³ Uloz.to provides server-calculated MD5 hash upon file upload. MD5 and SHA256
|
||||
hashes are client-calculated and stored as metadata fields.
|
||||
{{< features-table >}}
|
||||
|
||||
### Hash
|
||||
|
||||
@@ -508,74 +410,7 @@ See [the metadata docs](/docs/#metadata) for more info.
|
||||
All rclone remotes support a base command set. Other features depend
|
||||
upon backend-specific capabilities.
|
||||
|
||||
| Name | Purge | Copy | Move | DirMove | CleanUp | ListR | StreamUpload | MultithreadUpload | LinkSharing | About | EmptyDir |
|
||||
| ---------------------------- |:-----:|:----:|:----:|:-------:|:-------:|:-----:|:------------:|:------------------|:------------:|:-----:|:--------:|
|
||||
| 1Fichier | No | Yes | Yes | No | No | No | No | No | Yes | No | Yes |
|
||||
| Akamai Netstorage | Yes | No | No | No | No | Yes | Yes | No | No | No | Yes |
|
||||
| Amazon S3 (or S3 compatible) | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | No |
|
||||
| Backblaze B2 | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | No |
|
||||
| Box | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes |
|
||||
| Citrix ShareFile | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes |
|
||||
| Drime | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | No | Yes |
|
||||
| Dropbox | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes |
|
||||
| Cloudinary | No | No | No | No | No | No | Yes | No | No | No | No |
|
||||
| Enterprise File Fabric | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes |
|
||||
| Filen | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
|
||||
| Files.com | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No | Yes |
|
||||
| FTP | No | No | Yes | Yes | No | No | Yes | No | No | No | Yes |
|
||||
| Gofile | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes |
|
||||
| Google Cloud Storage | Yes | Yes | No | No | No | No | Yes | No | No | No | No |
|
||||
| Google Drive | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
|
||||
| Google Photos | No | No | No | No | No | No | No | No | No | No | No |
|
||||
| HDFS | Yes | No | Yes | Yes | No | No | Yes | No | No | Yes | Yes |
|
||||
| HiDrive | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | Yes |
|
||||
| HTTP | No | No | No | No | No | No | No | No | No | No | Yes |
|
||||
| iCloud Drive | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Yes |
|
||||
| ImageKit | Yes | No | Yes | No | No | No | No | No | No | No | Yes |
|
||||
| Internet Archive | No | Yes | No | No | Yes | Yes | No | No | Yes | Yes | No |
|
||||
| Jottacloud | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
|
||||
| Koofr | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes |
|
||||
| Mail.ru Cloud | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes |
|
||||
| Mega | Yes | No | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes |
|
||||
| Memory | No | Yes | No | No | No | Yes | Yes | No | No | No | No |
|
||||
| Microsoft Azure Blob Storage | Yes | Yes | No | No | No | Yes | Yes | Yes | No | No | No |
|
||||
| Microsoft Azure Files Storage | No | Yes | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes |
|
||||
| Microsoft OneDrive | Yes | Yes | Yes | Yes | Yes | Yes ⁵ | No | No | Yes | Yes | Yes |
|
||||
| OpenDrive | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes |
|
||||
| OpenStack Swift | Yes ¹ | Yes | No | No | No | Yes | Yes | No | No | Yes | No |
|
||||
| Oracle Object Storage | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No |
|
||||
| pCloud | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
|
||||
| PikPak | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes |
|
||||
| Pixeldrain | Yes | No | Yes | Yes | No | No | Yes | No | Yes | Yes | Yes |
|
||||
| premiumize.me | Yes | No | Yes | Yes | No | No | No | No | Yes | Yes | Yes |
|
||||
| put.io | Yes | No | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes |
|
||||
| Proton Drive | Yes | No | Yes | Yes | Yes | No | No | No | No | Yes | Yes |
|
||||
| QingStor | No | Yes | No | No | Yes | Yes | No | No | No | No | No |
|
||||
| Quatrix by Maytech | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes |
|
||||
| Seafile | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
|
||||
| SFTP | No | Yes ⁴| Yes | Yes | No | No | Yes | No | No | Yes | Yes |
|
||||
| Sia | No | No | No | No | No | No | Yes | No | No | No | Yes |
|
||||
| SMB | No | No | Yes | Yes | No | No | Yes | Yes | No | No | Yes |
|
||||
| SugarSync | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No | Yes |
|
||||
| Storj | Yes ² | Yes | Yes | No | No | Yes | Yes | No | Yes | No | No |
|
||||
| Uloz.to | No | No | Yes | Yes | No | No | No | No | No | No | Yes |
|
||||
| WebDAV | Yes | Yes | Yes | Yes | No | No | Yes ³ | No | No | Yes | Yes |
|
||||
| Yandex Disk | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes |
|
||||
| Zoho WorkDrive | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes |
|
||||
| The local filesystem | No | No | Yes | Yes | No | No | Yes | Yes | No | Yes | Yes |
|
||||
|
||||
¹ Note Swift implements this in order to delete directory markers but
|
||||
it doesn't actually have a quicker way of deleting files other than
|
||||
deleting them individually.
|
||||
|
||||
² Storj implements this efficiently only for entire buckets. If
|
||||
purging a directory inside a bucket, files are deleted individually.
|
||||
|
||||
³ StreamUpload is not supported with Nextcloud
|
||||
|
||||
⁴ Use the `--sftp-copy-is-hardlink` flag to enable.
|
||||
|
||||
⁵ Use the `--onedrive-delta` flag to enable.
|
||||
{{< optional-features-table >}}
|
||||
|
||||
### Purge
|
||||
|
||||
|
||||
6
docs/layouts/partials/bool.html
Normal file
6
docs/layouts/partials/bool.html
Normal file
@@ -0,0 +1,6 @@
|
||||
{{ if . }}
|
||||
<span class="text-success">✔</span>
|
||||
{{ else }}
|
||||
<span class="text-danger">✖</span>
|
||||
{{ end }}
|
||||
|
||||
120
docs/layouts/shortcodes/features-table.html
Normal file
120
docs/layouts/shortcodes/features-table.html
Normal file
@@ -0,0 +1,120 @@
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Tier</th>
|
||||
<th>Hash</th>
|
||||
<th>ModTime</th>
|
||||
<th>Case Insensitive</th>
|
||||
<th>Duplicate Files</th>
|
||||
<th>MIME Type</th>
|
||||
<th>Metadata</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range sort site.Data.backends "name" "asc" }}
|
||||
{{ if .virtual }}{{ continue }} {{ end }}
|
||||
<tr>
|
||||
<td style="font-weight: bold;">
|
||||
<a href="/{{ .backend | urlize }}">{{ .name }}</a>
|
||||
</td>
|
||||
|
||||
{{/* Tier Column */}}
|
||||
<td>
|
||||
{{ partial "tier.html" (dict "name" .backend "align" false) }}
|
||||
</td>
|
||||
|
||||
{{/* Hash Column */}}
|
||||
<td>
|
||||
{{ $local := in .features "IsLocal" }}
|
||||
{{ if $local }}
|
||||
<b>ALL</b>
|
||||
{{ else }}
|
||||
{{ with .hashes }}
|
||||
{{ delimit . ", " }}
|
||||
{{ else }}
|
||||
-
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</td>
|
||||
|
||||
{{/* ModTime */}}
|
||||
<td>
|
||||
{{ $d := or (in .features "MkdirMetadata") (in .features "DirSetModTime") }}
|
||||
{{ $r := true }} {{/* FIXME don't have a way of reading this from the features */}}
|
||||
{{ $w := and (isset . "precision") (le .precision 1000000000) }}
|
||||
{{- if $d -}}
|
||||
D
|
||||
{{- end -}}
|
||||
{{ if and $r $w -}}
|
||||
R/W
|
||||
{{- else if $r -}}
|
||||
R
|
||||
{{- else if $w -}}
|
||||
W
|
||||
{{- else -}}
|
||||
-
|
||||
{{- end -}}
|
||||
</td>
|
||||
|
||||
{{/* Case Insensitive */}}
|
||||
<td>
|
||||
{{ partial "bool.html" (in .features "CaseInsensitive") }}
|
||||
</td>
|
||||
|
||||
{{/* Duplicate Files */}}
|
||||
<td>
|
||||
{{ partial "bool.html" (in .features "DuplicateFiles") }}
|
||||
</td>
|
||||
|
||||
{{/* MIME Type Synthesis */}}
|
||||
<td>
|
||||
{{ $r := in .features "ReadMimeType" }}
|
||||
{{ $w := in .features "WriteMimeType" }}
|
||||
{{ if and $r $w }}
|
||||
R/W
|
||||
{{ else if $r }}
|
||||
R
|
||||
{{ else if $w }}
|
||||
W
|
||||
{{ else }}
|
||||
-
|
||||
{{ end }}
|
||||
</td>
|
||||
|
||||
{{/* Metadata Synthesis */}}
|
||||
<td>
|
||||
{{ $meta := "" }}
|
||||
|
||||
{{/* Check Directory Metadata Support */}}
|
||||
{{ if or (in .features "ReadDirMetadata") (in .features "WriteDirMetadata") }}
|
||||
{{ $meta = "D" }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Check System Metadata Read */}}
|
||||
{{ if in .features "ReadMetadata" }}
|
||||
{{ $meta = print $meta "R" }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Check System Metadata Write */}}
|
||||
{{ if in .features "WriteMetadata" }}
|
||||
{{ $meta = print $meta "W" }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Check User Metadata Support */}}
|
||||
{{ if in .features "UserMetadata" }}
|
||||
{{ $meta = print $meta "U" }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Output result or hyphen if empty */}}
|
||||
{{ if eq $meta "" }}
|
||||
-
|
||||
{{ else }}
|
||||
{{ $meta }}
|
||||
{{ end }}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
40
docs/layouts/shortcodes/optional-features-table.html
Normal file
40
docs/layouts/shortcodes/optional-features-table.html
Normal file
@@ -0,0 +1,40 @@
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th align="left">Name</th>
|
||||
<th align="center">Purge</th>
|
||||
<th align="center">Copy</th>
|
||||
<th align="center">Move</th>
|
||||
<th align="center">DirMove</th>
|
||||
<th align="center">CleanUp</th>
|
||||
<th align="center">ListR</th>
|
||||
<th align="center">StreamUpload</th>
|
||||
<th align="left">MultithreadUpload</th>
|
||||
<th align="center">LinkSharing</th>
|
||||
<th align="center">About</th>
|
||||
<th align="center">EmptyDir</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ range sort site.Data.backends "name" "asc" }}
|
||||
{{ if .virtual }}{{ continue }} {{ end }}
|
||||
<tr>
|
||||
<td align="left" style="font-weight: bold;">
|
||||
<a href="/{{ .backend | urlize }}">{{ .name }}</a>
|
||||
</td>
|
||||
|
||||
<td align="center">{{ partial "bool.html" (in .features "Purge") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "Copy") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "Move") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "DirMove") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "CleanUp") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "ListR") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "PutStream") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (or (in .features "OpenChunkWriter") (in .features "OpenWriterAt")) }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "PublicLink") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "About") }}</td>
|
||||
<td align="center">{{ partial "bool.html" (in .features "CanHaveEmptyDirectories") }}</td>
|
||||
</tr>
|
||||
{{ end }}
|
||||
</tbody>
|
||||
</table>
|
||||
Reference in New Issue
Block a user