1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-06 00:03:32 +00:00

Compare commits

...

24 Commits

Author SHA1 Message Date
Nick Craig-Wood
31dc78905e Version v1.52.1 2020-06-10 16:08:06 +01:00
Nick Craig-Wood
f9493ff1db build: set user_allow_other in /etc/fuse.conf in the Docker image
This allows non root mounts to use the --allow-other flag

See: https://forum.rclone.org/t/trying-utilize-docker-for-the-first-time-having-some-issues-with-an-rclone-mount-user-allow-other-error-etc-fuse-conf-has-been-updated-to-allow/16393
2020-06-10 15:51:24 +01:00
Nick Craig-Wood
a5cf531b94 s3: fix --header-upload - Fixes #4303
Before this change we were setting the headers on the PUT
request for normal and multipart uploads. For normal uploads this caused the error

    403 Forbidden: There were headers present in the request which were not signed

After this fix we set the headers in the object upload request itself
as the s3 SDK expects.

This means that we only support a limited range of headers

- Cache-Control
- Content-Disposition
- Content-Encoding
- Content-Language
- Content-Type
- X-Amz-Tagging
- X-Amz-Meta-

Note for the last of those are for setting custom metadata in the form
"X-Amz-Meta-Key: value".

This now works for multipart uploads and single part uploads

See also #59
2020-06-10 12:29:23 +01:00
Nick Craig-Wood
04d59fe6bd lib/structs: factor reflection based structure manipulation into a library 2020-06-10 12:29:23 +01:00
Cenk Alti
cbc448039d putio: fix panic on Object.Open #4315 2020-06-10 12:22:07 +01:00
Caleb Case
7a8ade4949 backend/tardigrade: Set UserAgent to rclone
This provides two things:

* It gives Storj insight into which uplink clients are using the
  network.
* It facilitate rclone participating in the Tardigrade Open Source
  Partner Program https://tardigrade.io/partner/
2020-06-09 20:17:06 +01:00
Nick Craig-Wood
8ab6e2bd1f lib/file: fix SetSparse on Windows 7 which fixes downloads of files > 250MB
Before this change we passed both lpOverlapped and lpBytesReturned as NULL.

> If lpOverlapped is NULL, lpBytesReturned cannot be NULL. Even when
> an operation produces no output data, and lpOutBuffer can be NULL,
> the DeviceIoControl function makes use of the variable pointed to by
> lpBytesReturned. After such an operation, the value of the variable
> is without meaning.

After this change we set lpBytesReturned to a valid pointer.

See: https://forum.rclone.org/t/errors-when-downloading-any-file-over-250mb-from-google-drive-windows-sparse-files/16889
2020-06-06 13:14:10 +01:00
Nick Craig-Wood
d5c5811a54 obscure: write more help as we are referencing it elsewhere 2020-06-05 12:49:12 +01:00
Caleb Case
43d21b7e64 backend/tardigrade: Upgrade uplink to v1.0.7
This fixes a regression in the rclone tests from the v1.0.6 upgrade of
uplink. The failure was due to an improperly converted error resulting
in the wrong type of error.
2020-06-05 10:52:12 +01:00
Nick Craig-Wood
0501b12e17 vfs: fix OS vs Unix path confusion - fixes ChangeNotify on Windows
See: https://forum.rclone.org/t/windows-mount-polling-not-recognising-all-changes-made-by-another-box/16708
2020-06-03 17:07:04 +01:00
Nick Craig-Wood
723c1dfdc5 s3: fix upload of single files into buckets without create permission
Before this change, attempting to upload a single file into an s3
bucket which did not have create permission gave AccessDenied: Access
Denied error when it tried to create the bucket.

This was masked until e2bf91452a was
fixed.

This fix marks the bucket as OK if a fetch on an object indicates it
is OK. This stops rclone thinking it has to create the bucket in the
first place.

Fixes #4297
2020-06-02 20:06:34 +01:00
Nick Craig-Wood
d6894408b9 build: fix xgo build after go1.14 go.mod update
Before this change xgo was getting added to go.mod - the build then failed with

    go: inconsistent vendoring in /usr/src/rclone:
    github.com/karalabe/xgo@v0.0.0-20191115072854-c5ccff8648a7: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

This change gets xgo in GOPATH mode to avoid it getting added to go.mod
2020-06-02 14:02:44 +01:00
Nick Craig-Wood
ac0e831090 docs: remove leading slash in page reference in footer when present 2020-06-02 12:10:30 +01:00
edwardxml
b93ed77495 docs: minor tense, punctuation, brevity and positivity changes for the home page 2020-06-01 16:47:21 +01:00
Nick Craig-Wood
d0a3c40f9a build: update Docker build workflows
- prune docker images to ones we normally build binaries for
- add fixed versions
- add fetch-depth to fetch the tags so the version number is correct
- rename the job names
2020-06-01 16:47:21 +01:00
Matteo Pietro Dazzi
6a9a571d87 build: Build Docker images with GitHub actions 2020-06-01 16:47:21 +01:00
Nick Craig-Wood
6b68d1f79a build: remove quicktest from Dockerfile
This is making docker builds take too long and it isn't the place of
the Docker file to be running unit tests.
2020-06-01 16:47:21 +01:00
Nick Craig-Wood
088756ff8a build: update go.mod to go1.14 to enable -mod=vendor build
When the main module contains a top-level vendor directory and its
go.mod file specifies go 1.14 or higher, the go command now defaults
to -mod=vendor for operations that accept that flag.
2020-06-01 16:47:21 +01:00
Nick Craig-Wood
4c1ffcc36d docs: remove manually set dates and use git dates instead 2020-06-01 13:10:08 +01:00
Nick Craig-Wood
e5bd3f1c26 docs: Add link to source and modified time to footer of every page 2020-06-01 13:09:58 +01:00
Nick Craig-Wood
e03b4e2ce9 cmd: Note commands which need obscured input in the docs - fixes #4252 2020-05-31 12:59:29 +01:00
Nick Craig-Wood
6054476c9c drive: fix missing items when listing using --fast-list / ListR
This is caused by a bug in Google drive where, in some circumstances
querying for "(A in parents) or (B in parents)" returns nothing
whereas querying for "A in parents" and "B in parents" separately
works fine.

This has been reported here:

https://issuetracker.google.com/issues/149522397

This workaround detects this condition by seeing if a listing for more
than one directory at once returns nothing.

If it does then it retries each one individually.

This can potentially have a false positive if the user has multiple
empty directories which are queried at once. The consequence of this
will be that ListR is disabled for a while until the directories are
found to be actually empty in which case it will be re-enabled.

Fixes #3114 and Fixes #4289
2020-05-31 11:45:24 +01:00
Caleb Case
6cd8d3c4a0 backend/tardigrade: Upgrade to uplink v1.0.6
This fixes an important bug with listing that affects users with more
than 500 objects in a listing operation.
2020-05-29 18:01:20 +01:00
Nick Craig-Wood
78b0329928 mountlib: fix rc tests when mount does not work
This fixed the Docker 1.52 build
2020-05-28 13:13:02 +01:00
328 changed files with 2437 additions and 2122 deletions

View File

@@ -227,7 +227,7 @@ jobs:
- name: Cross-compile rclone
run: |
docker pull billziss/xgo-cgofuse
go get -v github.com/karalabe/xgo
GO111MODULE=off go get -v github.com/karalabe/xgo # don't add to go.mod
xgo \
-image=billziss/xgo-cgofuse \
-targets=darwin/386,darwin/amd64,linux/386,linux/amd64,windows/386,windows/amd64 \

View File

@@ -0,0 +1,25 @@
name: Docker beta build
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
name: Build image job
steps:
- name: Checkout master
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Build and publish image
uses: ilteoood/docker_buildx@439099796bfc03dd9cedeb72a0c7cb92be5cc92c
with:
tag: beta
imageName: rclone/rclone
platform: linux/amd64,linux/386,linux/arm64,linux/arm/v7
publish: true
dockerHubUser: ${{ secrets.DOCKER_HUB_USER }}
dockerHubPassword: ${{ secrets.DOCKER_HUB_PASSWORD }}

View File

@@ -0,0 +1,33 @@
name: Docker release build
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
name: Build image job
steps:
- name: Checkout master
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Get actual patch version
id: actual_patch_version
run: echo ::set-output name=ACTUAL_PATCH_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g')
- name: Get actual minor version
id: actual_minor_version
run: echo ::set-output name=ACTUAL_MINOR_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g' | cut -d "." -f 1,2)
- name: Get actual major version
id: actual_major_version
run: echo ::set-output name=ACTUAL_MAJOR_VERSION::$(echo $GITHUB_REF | cut -d / -f 3 | sed 's/v//g' | cut -d "." -f 1)
- name: Build and publish image
uses: ilteoood/docker_buildx@@439099796bfc03dd9cedeb72a0c7cb92be5cc92c
with:
tag: latest,${{ steps.actual_patch_version.outputs.ACTUAL_PATCH_VERSION }},${{ steps.actual_minor_version.outputs.ACTUAL_MINOR_VERSION }},${{ steps.actual_major_version.outputs.ACTUAL_MAJOR_VERSION }}
imageName: rclone/rclone
platform: linux/amd64,linux/386,linux/arm64,linux/arm/v7
publish: true
dockerHubUser: ${{ secrets.DOCKER_HUB_USER }}
dockerHubPassword: ${{ secrets.DOCKER_HUB_PASSWORD }}

View File

@@ -3,7 +3,6 @@ FROM golang AS builder
COPY . /go/src/github.com/rclone/rclone/
WORKDIR /go/src/github.com/rclone/rclone/
RUN make quicktest
RUN \
CGO_ENABLED=0 \
make
@@ -12,7 +11,8 @@ RUN ./rclone version
# Begin final image
FROM alpine:latest
RUN apk --no-cache add ca-certificates fuse
RUN apk --no-cache add ca-certificates fuse && \
echo "user_allow_other" >> /etc/fuse.conf
COPY --from=builder /go/src/github.com/rclone/rclone/rclone /usr/local/bin/

124
MANUAL.html generated
View File

@@ -5,7 +5,6 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Nick Craig-Wood" />
<meta name="dcterms.date" content="2020-05-27" />
<title>rclone(1) User Manual</title>
<style type="text/css">
code{white-space: pre-wrap;}
@@ -18,31 +17,31 @@
<header id="title-block-header">
<h1 class="title">rclone(1) User Manual</h1>
<p class="author">Nick Craig-Wood</p>
<p class="date">May 27, 2020</p>
<p class="date">Jun 10, 2020</p>
</header>
<h1 id="rclone-syncs-your-files-to-cloud-storage">Rclone syncs your files to cloud storage</h1>
<p><img width="50%" src="https://rclone.org/img/logo_on_light__horizontal_color.svg" alt="rclone logo" style="float:right; padding: 5px;" ></p>
<ul>
<li><a href="#about">About rclone</a></li>
<li><a href="#what">What can rclone do for you</a></li>
<li><a href="#features">What features does rclone have</a></li>
<li><a href="#providers">What providers does rclone support</a></li>
<li><a href="#what">What can rclone do for you?</a></li>
<li><a href="#features">What features does rclone have?</a></li>
<li><a href="#providers">What providers does rclone support?</a></li>
<li><a href="https://rclone.org/downloads/">Download</a></li>
<li><a href="https://rclone.org/install/">Install</a></li>
<li><a href="https://rclone.org/donate/">Donate.</a></li>
</ul>
<h2 id="about">About rclone</h2>
<p>Rclone is a command line program to manage files on cloud storage. It is a feature rich alternative to cloud vendors web storage interfaces. <a href="#providers">Over 40 cloud storage products</a> support rclone including S3 object stores, business &amp; consumer file storage services, as well as standard transfer protocols.</p>
<p>Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat. Rclones familiar syntax includes shell pipeline support, and <code>--dry-run</code> protection. It can be used at the command line, in scripts or via its <a href="/rc">API</a>.</p>
<p>Users have called rclone <em>“The Swiss army knife of cloud storage”</em> and <em>“Technology indistinguishable from magic”</em>.</p>
<p>Rclone really looks after your data. It preserves timestamps and verifies your data at all times. Transfers over limited bandwidth; intermittent connections, or subject to quota can be restarted, from the last good file transferred. You can <a href="https://rclone.org/commands/rclone_check/">check</a> the integrity of your files. Where possible, rclone employs server side transfers to minimise local bandwidth use and transfers from one provider to another without using your local disk.</p>
<p>Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat. Rclones familiar syntax includes shell pipeline support, and <code>--dry-run</code> protection. It is used at the command line, in scripts or via its <a href="/rc">API</a>.</p>
<p>Users call rclone <em>“The Swiss army knife of cloud storage”</em>, and <em>“Technology indistinguishable from magic”</em>.</p>
<p>Rclone really looks after your data. It preserves timestamps and verifies checksums at all times. Transfers over limited bandwidth; intermittent connections, or subject to quota can be restarted, from the last good file transferred. You can <a href="https://rclone.org/commands/rclone_check/">check</a> the integrity of your files. Where possible, rclone employs server side transfers to minimise local bandwidth use and transfers from one provider to another without using local disk.</p>
<p>Virtual backends wrap local and cloud file systems to apply <a href="https://rclone.org/crypt/">encryption</a>, <a href="https://rclone.org/cache/">caching</a>, <a href="https://rclone.org/chunker/">chunking</a> and <a href="https://rclone.org/union/">joining</a>.</p>
<p>Rclone can <a href="https://rclone.org/commands/rclone_mount/">mount</a> any local, cloud or virtual filesystem as a disk on Windows, macOS, linux and FreeBSD, and also serve these over <a href="https://rclone.org/commands/rclone_serve_sftp/">SFTP</a>, <a href="https://rclone.org/commands/rclone_serve_http/">HTTP</a>, <a href="https://rclone.org/commands/rclone_serve_webdav/">WebDAV</a>, <a href="https://rclone.org/commands/rclone_serve_ftp/">FTP</a> and <a href="https://rclone.org/commands/rclone_serve_dlna/">DLNA</a>.</p>
<p>Rclone <a href="https://rclone.org/commands/rclone_mount/">mounts</a> any local, cloud or virtual filesystem as a disk on Windows, macOS, linux and FreeBSD, and also serves these over <a href="https://rclone.org/commands/rclone_serve_sftp/">SFTP</a>, <a href="https://rclone.org/commands/rclone_serve_http/">HTTP</a>, <a href="https://rclone.org/commands/rclone_serve_webdav/">WebDAV</a>, <a href="https://rclone.org/commands/rclone_serve_ftp/">FTP</a> and <a href="https://rclone.org/commands/rclone_serve_dlna/">DLNA</a>.</p>
<p>Rclone is mature, open source software originally inspired by rsync and written in <a href="https://golang.org">Go</a>. The friendly support community are familiar with varied use cases. Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos. include rclone. For the latest version <a href="https://rclone.org/downloads/">downloading from rclone.org</a> is recommended.</p>
<p>Rclone is widely used on Linux, Windows and Mac. Third party developers have built innovative backup, restore, GUI and business process solutions using the rclone command line or API.</p>
<p>Let rclone do the heavy lifting of communicating with cloud storage.</p>
<h2 id="what">What can rclone do for you</h2>
<p>Rclone can help you:</p>
<p>Rclone is widely used on Linux, Windows and Mac. Third party developers create innovative backup, restore, GUI and business process solutions using the rclone command line or API.</p>
<p>Rclone does the heavy lifting of communicating with cloud storage.</p>
<h2 id="what">What can rclone do for you?</h2>
<p>Rclone helps you:</p>
<ul>
<li>Backup (and encrypt) files to cloud storage</li>
<li>Restore (and decrypt) files from cloud storage</li>
@@ -71,7 +70,7 @@
<li>Experimental <a href="https://rclone.org/gui/">Web based GUI</a></li>
</ul>
<h2 id="providers">Supported providers</h2>
<p>(There are many other providers, built on standard protocols such as WebDAV or S3, that work out of the box.)</p>
<p>(There are many others, built on standard protocols such as WebDAV or S3, that work out of the box.)</p>
<ul>
<li>1Fichier</li>
<li>Alibaba Cloud (Aliyun) Object Storage System (OSS)</li>
@@ -1564,9 +1563,11 @@ if src is directory
<li><a href="https://rclone.org/commands/rclone/">rclone</a> - Show help for rclone commands, flags and backends.</li>
</ul>
<h1 id="rclone-obscure">rclone obscure</h1>
<p>Obscure password for use in the rclone.conf</p>
<p>Obscure password for use in the rclone config file</p>
<h2 id="synopsis-52">Synopsis</h2>
<p>Obscure password for use in the rclone.conf</p>
<p>In the rclone config file, human readable passwords are obscured. Obscuring them is done by encrypting them and writing them out in base64. This is <strong>not</strong> a secure way of encrypting these passwords as rclone can decrypt them - it is to prevent “eyedropping” - namely someone seeing a password in the rclone config file by accident.</p>
<p>Many equally important things (like access tokens) are not obscured in the config file. However it is very hard to shoulder surf a 64 character hex token.</p>
<p>If you want to encrypt the config file then please use config file encryption - see <a href="https://rclone.org/commands/rclone_config/">rclone config</a> for more info.</p>
<pre><code>rclone obscure password [flags]</code></pre>
<h2 id="options-52">Options</h2>
<pre><code> -h, --help help for obscure</code></pre>
@@ -5865,7 +5866,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default &quot;rclone/v1.52.0&quot;)
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default &quot;rclone/v1.52.1&quot;)
-v, --verbose count Print lots more stuff (repeat for more)</code></pre>
<h2 id="backend-flags">Backend Flags</h2>
<p>These flags are available for every command. They control the backends and may be set in the config file.</p>
@@ -5920,7 +5921,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
--cache-info-age Duration How long to cache file structure information (directory listings, file size, times etc). (default 6h0m0s)
--cache-plex-insecure string Skip all certificate verification when connecting to the Plex server
--cache-plex-password string The password of the Plex user
--cache-plex-password string The password of the Plex user (obscured)
--cache-plex-url string The URL of the Plex server
--cache-plex-username string The username of the Plex user
--cache-read-retries int How many times to retry a read from a cache storage. (default 10)
@@ -5940,8 +5941,8 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
-L, --copy-links Follow symlinks and copy the pointed to item.
--crypt-directory-name-encryption Option to either encrypt directory names or leave them intact. (default true)
--crypt-filename-encryption string How to encrypt the filenames. (default &quot;standard&quot;)
--crypt-password string Password or pass phrase for encryption.
--crypt-password2 string Password or pass phrase for salt. Optional but recommended.
--crypt-password string Password or pass phrase for encryption. (obscured)
--crypt-password2 string Password or pass phrase for salt. Optional but recommended. (obscured)
--crypt-remote string Remote to encrypt/decrypt.
--crypt-show-mapping For all files listed show how the names encrypt.
--drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
@@ -5992,7 +5993,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--ftp-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
--ftp-host string FTP host to connect to
--ftp-no-check-certificate Do not verify the TLS certificate of the server
--ftp-pass string FTP password
--ftp-pass string FTP password (obscured)
--ftp-port string FTP port, leave blank to use default (21)
--ftp-tls Use FTP over TLS (Implicit)
--ftp-user string FTP username, leave blank for current username, $USER
@@ -6029,7 +6030,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--koofr-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--koofr-endpoint string The Koofr API endpoint to use (default &quot;https://app.koofr.net&quot;)
--koofr-mountid string Mount ID of the mount to use. If omitted, the primary mount is used.
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
--koofr-setmtime Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
--koofr-user string Your Koofr user name
-l, --links Translate symlinks to/from regular files with a &#39;.rclonelink&#39; extension
@@ -6042,7 +6043,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--local-nounc string Disable UNC (long path names) conversion on Windows
--mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
--mailru-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--mailru-pass string Password
--mailru-pass string Password (obscured)
--mailru-speedup-enable Skip full upload if there is another file with same data hash. (default true)
--mailru-speedup-file-patterns string Comma separated list of file name patterns eligible for speedup (put by hash). (default &quot;*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf&quot;)
--mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3G)
@@ -6051,7 +6052,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--mega-debug Output more debug from Mega.
--mega-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
--mega-hard-delete Delete files permanently rather than putting them into the trash.
--mega-pass string Password.
--mega-pass string Password. (obscured)
--mega-user string User name
-x, --one-file-system Don&#39;t cross filesystem boundaries (unix/macOS only).
--onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
@@ -6064,7 +6065,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--onedrive-server-side-across-configs Allow server side operations (eg copy) to work across different onedrive configs.
--opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size. (default 10M)
--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)
--opendrive-password string Password.
--opendrive-password string Password. (obscured)
--opendrive-username string Username
--pcloud-client-id string Pcloud App Client Id
--pcloud-client-secret string Pcloud App Client Secret
@@ -6115,19 +6116,19 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--seafile-create-library Should rclone create a library if it doesn&#39;t exist
--seafile-encoding MultiEncoder This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
--seafile-library string Name of the library. Leave blank to access all non-encrypted libraries.
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
--seafile-pass string Password
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line. (obscured)
--seafile-pass string Password (obscured)
--seafile-url string URL of seafile host to connect to
--seafile-user string User name (usually email address)
--sftp-ask-password Allow asking for SFTP password when needed.
--sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available.
--sftp-host string SSH host to connect to
--sftp-key-file string Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file. (obscured)
--sftp-key-pem string Raw PEM-encoded private key, If specified, will override key_file parameter.
--sftp-key-use-agent When set forces the usage of the ssh-agent.
--sftp-md5sum-command string The command used to read md5 hashes. Leave blank for autodetect.
--sftp-pass string SSH password, leave blank to use ssh-agent.
--sftp-pass string SSH password, leave blank to use ssh-agent. (obscured)
--sftp-path-override string Override path used by SSH connection.
--sftp-port string SSH port, leave blank to use default (22)
--sftp-set-modtime Set the modified time on the remote if set. (default true)
@@ -6185,7 +6186,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
--union-upstreams string List of space separated upstreams.
--webdav-bearer-token string Bearer token instead of user/pass (eg a Macaroon)
--webdav-bearer-token-command string Command to run to get a bearer token
--webdav-pass string Password.
--webdav-pass string Password. (obscured)
--webdav-url string URL of http host to connect to
--webdav-user string User name
--webdav-vendor string Name of the Webdav site/service/software you are using
@@ -9304,6 +9305,7 @@ chunk_total_size = 10G</code></pre>
</ul>
<h4 id="cache-plex-password">cache-plex-password</h4>
<p>The password of the Plex user</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: plex_password</li>
<li>Env Var: RCLONE_CACHE_PLEX_PASSWORD</li>
@@ -10195,6 +10197,7 @@ $ rclone -q ls secret:
</ul>
<h4 id="crypt-password">crypt-password</h4>
<p>Password or pass phrase for encryption.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: password</li>
<li>Env Var: RCLONE_CRYPT_PASSWORD</li>
@@ -10203,6 +10206,7 @@ $ rclone -q ls secret:
</ul>
<h4 id="crypt-password2">crypt-password2</h4>
<p>Password or pass phrase for salt. Optional but recommended. Should be different to the previous password.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: password2</li>
<li>Env Var: RCLONE_CRYPT_PASSWORD2</li>
@@ -10621,6 +10625,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="ftp-pass">ftp-pass</h4>
<p>FTP password</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_FTP_PASS</li>
@@ -11379,7 +11384,7 @@ trashed=false and &#39;c&#39; in parents</code></pre>
<li>When deleting with <code>rclone rmdir</code> or <code>rclone purge</code> the shortcut is deleted not the linked folder.</li>
<li><strong>NB</strong> When deleting with <code>rclone remove</code> or <code>rclone mount</code> the contents of the linked folder will be deleted.</li>
</ul>
<p>It isnt currently possible to create shortcuts with rclone.</p>
<p>The <a href="https://rclone.org/commands/rclone_backend/">rclone backend</a> command can be used to create shortcuts.</p>
<p>Shortcuts can be completely ignored with the <code>--drive-skip-shortcuts</code> flag or the corresponding <code>skip_shortcuts</code> configuration setting.</p>
<h3 id="emptying-trash">Emptying trash</h3>
<p>If you wish to empty your trash you can use the <code>rclone cleanup remote:</code> command which will permanently delete all your trashed files. This command does not take any path arguments.</p>
@@ -12776,6 +12781,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="koofr-password">koofr-password</h4>
<p>Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: password</li>
<li>Env Var: RCLONE_KOOFR_PASSWORD</li>
@@ -12976,6 +12982,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="mailru-pass">mailru-pass</h4>
<p>Password</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_MAILRU_PASS</li>
@@ -13223,6 +13230,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="mega-pass">mega-pass</h4>
<p>Password.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_MEGA_PASS</li>
@@ -14022,6 +14030,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="opendrive-password">opendrive-password</h4>
<p>Password.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: password</li>
<li>Env Var: RCLONE_OPENDRIVE_PASSWORD</li>
@@ -15244,6 +15253,7 @@ http://my.seafile.server/d/9ea2455f6f55478bbb0d/</code></pre>
</ul>
<h4 id="seafile-pass">seafile-pass</h4>
<p>Password</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_SEAFILE_PASS</li>
@@ -15268,6 +15278,7 @@ http://my.seafile.server/d/9ea2455f6f55478bbb0d/</code></pre>
</ul>
<h4 id="seafile-library-key">seafile-library-key</h4>
<p>Library password (for encrypted libraries only). Leave blank if you pass it through the command line.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: library_key</li>
<li>Env Var: RCLONE_SEAFILE_LIBRARY_KEY</li>
@@ -15426,6 +15437,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="sftp-pass">sftp-pass</h4>
<p>SSH password, leave blank to use ssh-agent.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_SFTP_PASS</li>
@@ -15451,6 +15463,7 @@ y/e/d&gt; y</code></pre>
<h4 id="sftp-key-file-pass">sftp-key-file-pass</h4>
<p>The passphrase to decrypt the PEM-encoded private key file.</p>
<p>Only PEM encrypted key files (old OpenSSH format) are supported. Encrypted keys in the new OpenSSH format cant be used.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: key_file_pass</li>
<li>Env Var: RCLONE_SFTP_KEY_FILE_PASS</li>
@@ -16368,6 +16381,7 @@ y/e/d&gt; y</code></pre>
</ul>
<h4 id="webdav-pass">webdav-pass</h4>
<p>Password.</p>
<p><strong>NB</strong> Input to this must be obscured - see <a href="https://rclone.org/commands/rclone_obscure/">rclone obscure</a>.</p>
<ul>
<li>Config: pass</li>
<li>Env Var: RCLONE_WEBDAV_PASS</li>
@@ -17045,6 +17059,54 @@ $ tree /tmp/b
<li>“error”: return an error based on option value</li>
</ul>
<h1 id="changelog">Changelog</h1>
<h2 id="v1.52.1---2020-06-10">v1.52.1 - 2020-06-10</h2>
<p><a href="https://github.com/rclone/rclone/compare/v1.52.0...v1.52.1">See commits</a></p>
<ul>
<li>Bug Fixes
<ul>
<li>lib/file: Fix SetSparse on Windows 7 which fixes downloads of files &gt; 250MB (Nick Craig-Wood)</li>
<li>build
<ul>
<li>Update go.mod to go1.14 to enable -mod=vendor build (Nick Craig-Wood)</li>
<li>Remove quicktest from Dockerfile (Nick Craig-Wood)</li>
<li>Build Docker images with GitHub actions (Matteo Pietro Dazzi)</li>
<li>Update Docker build workflows (Nick Craig-Wood)</li>
<li>Set user_allow_other in /etc/fuse.conf in the Docker image (Nick Craig-Wood)</li>
<li>Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)</li>
</ul></li>
<li>docs
<ul>
<li>Add link to source and modified time to footer of every page (Nick Craig-Wood)</li>
<li>Remove manually set dates and use git dates instead (Nick Craig-Wood)</li>
<li>Minor tense, punctuation, brevity and positivity changes for the home page (edwardxml)</li>
<li>Remove leading slash in page reference in footer when present (Nick Craig-Wood)</li>
<li>Note commands which need obscured input in the docs (Nick Craig-Wood)</li>
<li>obscure: Write more help as we are referencing it elsewhere (Nick Craig-Wood)</li>
</ul></li>
</ul></li>
<li>VFS
<ul>
<li>Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick Craig-Wood)</li>
</ul></li>
<li>Drive
<ul>
<li>Fix missing items when listing using fast-list / ListR (Nick Craig-Wood)</li>
</ul></li>
<li>Putio
<ul>
<li>Fix panic on Object.Open (Cenk Alti)</li>
</ul></li>
<li>S3
<ul>
<li>Fix upload of single files into buckets without create permission (Nick Craig-Wood)</li>
<li>Fix header-upload (Nick Craig-Wood)</li>
</ul></li>
<li>Tardigrade
<ul>
<li>Fix listing bug by upgrading to v1.0.7</li>
<li>Set UserAgent to rclone (Caleb Case)</li>
</ul></li>
</ul>
<h2 id="v1.52.0---2020-05-27">v1.52.0 - 2020-05-27</h2>
<p>Special thanks to Martin Michlmayr for proof reading and correcting all the docs and Edward Barker for helping re-write the front page.</p>
<p><a href="https://github.com/rclone/rclone/compare/v1.51.0...v1.52.0">See commits</a></p>

136
MANUAL.md generated
View File

@@ -1,15 +1,15 @@
% rclone(1) User Manual
% Nick Craig-Wood
% May 27, 2020
% Jun 10, 2020
# Rclone syncs your files to cloud storage
<img width="50%" src="https://rclone.org/img/logo_on_light__horizontal_color.svg" alt="rclone logo" style="float:right; padding: 5px;" >
- [About rclone](#about)
- [What can rclone do for you](#what)
- [What features does rclone have](#features)
- [What providers does rclone support](#providers)
- [What can rclone do for you?](#what)
- [What features does rclone have?](#features)
- [What providers does rclone support?](#providers)
- [Download](https://rclone.org/downloads/)
- [Install](https://rclone.org/install/)
- [Donate.](https://rclone.org/donate/)
@@ -24,20 +24,20 @@ services, as well as standard transfer protocols.
Rclone has powerful cloud equivalents to the unix commands rsync, cp,
mv, mount, ls, ncdu, tree, rm, and cat. Rclone's familiar syntax
includes shell pipeline support, and `--dry-run` protection. It can be
includes shell pipeline support, and `--dry-run` protection. It is
used at the command line, in scripts or via its [API](/rc).
Users have called rclone *"The Swiss army knife of cloud storage"* and
Users call rclone *"The Swiss army knife of cloud storage"*, and
*"Technology indistinguishable from magic"*.
Rclone really looks after your data. It preserves timestamps and
verifies your data at all times. Transfers over limited bandwidth;
verifies checksums at all times. Transfers over limited bandwidth;
intermittent connections, or subject to quota can be restarted, from
the last good file transferred. You can
[check](https://rclone.org/commands/rclone_check/) the integrity of your files. Where
possible, rclone employs server side transfers to minimise local
bandwidth use and transfers from one provider to another without
using your local disk.
using local disk.
Virtual backends wrap local and cloud file systems to apply
[encryption](https://rclone.org/crypt/),
@@ -45,9 +45,9 @@ Virtual backends wrap local and cloud file systems to apply
[chunking](https://rclone.org/chunker/) and
[joining](https://rclone.org/union/).
Rclone can [mount](https://rclone.org/commands/rclone_mount/) any local, cloud or
Rclone [mounts](https://rclone.org/commands/rclone_mount/) any local, cloud or
virtual filesystem as a disk on Windows,
macOS, linux and FreeBSD, and also serve these over
macOS, linux and FreeBSD, and also serves these over
[SFTP](https://rclone.org/commands/rclone_serve_sftp/),
[HTTP](https://rclone.org/commands/rclone_serve_http/),
[WebDAV](https://rclone.org/commands/rclone_serve_webdav/),
@@ -61,14 +61,14 @@ Fedora, Brew and Chocolatey repos. include rclone. For the latest
version [downloading from rclone.org](https://rclone.org/downloads/) is recommended.
Rclone is widely used on Linux, Windows and Mac. Third party
developers have built innovative backup, restore, GUI and business
developers create innovative backup, restore, GUI and business
process solutions using the rclone command line or API.
Let rclone do the heavy lifting of communicating with cloud storage.
Rclone does the heavy lifting of communicating with cloud storage.
## What can rclone do for you {#what}
## What can rclone do for you? {#what}
Rclone can help you:
Rclone helps you:
- Backup (and encrypt) files to cloud storage
- Restore (and decrypt) files from cloud storage
@@ -96,7 +96,7 @@ Rclone can help you:
## Supported providers {#providers}
(There are many other providers, built on standard protocols such as
(There are many others, built on standard protocols such as
WebDAV or S3, that work out of the box.)
@@ -3126,11 +3126,24 @@ See the [global flags page](https://rclone.org/flags/) for global options not li
# rclone obscure
Obscure password for use in the rclone.conf
Obscure password for use in the rclone config file
## Synopsis
Obscure password for use in the rclone.conf
In the rclone config file, human readable passwords are
obscured. Obscuring them is done by encrypting them and writing them
out in base64. This is **not** a secure way of encrypting these
passwords as rclone can decrypt them - it is to prevent "eyedropping"
- namely someone seeing a password in the rclone config file by
accident.
Many equally important things (like access tokens) are not obscured in
the config file. However it is very hard to shoulder surf a 64
character hex token.
If you want to encrypt the config file then please use config file
encryption - see [rclone config](https://rclone.org/commands/rclone_config/) for more
info.
```
rclone obscure password [flags]
@@ -9670,7 +9683,7 @@ These flags are available for every command.
--use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.52.0")
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.52.1")
-v, --verbose count Print lots more stuff (repeat for more)
```
@@ -9731,7 +9744,7 @@ and may be set in the config file.
--cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
--cache-info-age Duration How long to cache file structure information (directory listings, file size, times etc). (default 6h0m0s)
--cache-plex-insecure string Skip all certificate verification when connecting to the Plex server
--cache-plex-password string The password of the Plex user
--cache-plex-password string The password of the Plex user (obscured)
--cache-plex-url string The URL of the Plex server
--cache-plex-username string The username of the Plex user
--cache-read-retries int How many times to retry a read from a cache storage. (default 10)
@@ -9751,8 +9764,8 @@ and may be set in the config file.
-L, --copy-links Follow symlinks and copy the pointed to item.
--crypt-directory-name-encryption Option to either encrypt directory names or leave them intact. (default true)
--crypt-filename-encryption string How to encrypt the filenames. (default "standard")
--crypt-password string Password or pass phrase for encryption.
--crypt-password2 string Password or pass phrase for salt. Optional but recommended.
--crypt-password string Password or pass phrase for encryption. (obscured)
--crypt-password2 string Password or pass phrase for salt. Optional but recommended. (obscured)
--crypt-remote string Remote to encrypt/decrypt.
--crypt-show-mapping For all files listed show how the names encrypt.
--drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
@@ -9803,7 +9816,7 @@ and may be set in the config file.
--ftp-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
--ftp-host string FTP host to connect to
--ftp-no-check-certificate Do not verify the TLS certificate of the server
--ftp-pass string FTP password
--ftp-pass string FTP password (obscured)
--ftp-port string FTP port, leave blank to use default (21)
--ftp-tls Use FTP over TLS (Implicit)
--ftp-user string FTP username, leave blank for current username, $USER
@@ -9840,7 +9853,7 @@ and may be set in the config file.
--koofr-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--koofr-endpoint string The Koofr API endpoint to use (default "https://app.koofr.net")
--koofr-mountid string Mount ID of the mount to use. If omitted, the primary mount is used.
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
--koofr-setmtime Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
--koofr-user string Your Koofr user name
-l, --links Translate symlinks to/from regular files with a '.rclonelink' extension
@@ -9853,7 +9866,7 @@ and may be set in the config file.
--local-nounc string Disable UNC (long path names) conversion on Windows
--mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
--mailru-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--mailru-pass string Password
--mailru-pass string Password (obscured)
--mailru-speedup-enable Skip full upload if there is another file with same data hash. (default true)
--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")
--mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3G)
@@ -9862,7 +9875,7 @@ and may be set in the config file.
--mega-debug Output more debug from Mega.
--mega-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
--mega-hard-delete Delete files permanently rather than putting them into the trash.
--mega-pass string Password.
--mega-pass string Password. (obscured)
--mega-user string User name
-x, --one-file-system Don't cross filesystem boundaries (unix/macOS only).
--onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
@@ -9875,7 +9888,7 @@ and may be set in the config file.
--onedrive-server-side-across-configs Allow server side operations (eg copy) to work across different onedrive configs.
--opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size. (default 10M)
--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)
--opendrive-password string Password.
--opendrive-password string Password. (obscured)
--opendrive-username string Username
--pcloud-client-id string Pcloud App Client Id
--pcloud-client-secret string Pcloud App Client Secret
@@ -9926,19 +9939,19 @@ and may be set in the config file.
--seafile-create-library Should rclone create a library if it doesn't exist
--seafile-encoding MultiEncoder This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
--seafile-library string Name of the library. Leave blank to access all non-encrypted libraries.
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
--seafile-pass string Password
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line. (obscured)
--seafile-pass string Password (obscured)
--seafile-url string URL of seafile host to connect to
--seafile-user string User name (usually email address)
--sftp-ask-password Allow asking for SFTP password when needed.
--sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available.
--sftp-host string SSH host to connect to
--sftp-key-file string Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file. (obscured)
--sftp-key-pem string Raw PEM-encoded private key, If specified, will override key_file parameter.
--sftp-key-use-agent When set forces the usage of the ssh-agent.
--sftp-md5sum-command string The command used to read md5 hashes. Leave blank for autodetect.
--sftp-pass string SSH password, leave blank to use ssh-agent.
--sftp-pass string SSH password, leave blank to use ssh-agent. (obscured)
--sftp-path-override string Override path used by SSH connection.
--sftp-port string SSH port, leave blank to use default (22)
--sftp-set-modtime Set the modified time on the remote if set. (default true)
@@ -9996,7 +10009,7 @@ and may be set in the config file.
--union-upstreams string List of space separated upstreams.
--webdav-bearer-token string Bearer token instead of user/pass (eg a Macaroon)
--webdav-bearer-token-command string Command to run to get a bearer token
--webdav-pass string Password.
--webdav-pass string Password. (obscured)
--webdav-url string URL of http host to connect to
--webdav-user string User name
--webdav-vendor string Name of the Webdav site/service/software you are using
@@ -13622,6 +13635,8 @@ The username of the Plex user
The password of the Plex user
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: plex_password
- Env Var: RCLONE_CACHE_PLEX_PASSWORD
- Type: string
@@ -14880,6 +14895,8 @@ NB If filename_encryption is "off" then this option will do nothing.
Password or pass phrase for encryption.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: password
- Env Var: RCLONE_CRYPT_PASSWORD
- Type: string
@@ -14890,6 +14907,8 @@ Password or pass phrase for encryption.
Password or pass phrase for salt. Optional but recommended.
Should be different to the previous password.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: password2
- Env Var: RCLONE_CRYPT_PASSWORD2
- Type: string
@@ -15480,6 +15499,8 @@ FTP port, leave blank to use default (21)
FTP password
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_FTP_PASS
- Type: string
@@ -16426,7 +16447,7 @@ For shortcuts pointing to folders:
- When deleting with `rclone rmdir` or `rclone purge` the shortcut is deleted not the linked folder.
- **NB** When deleting with `rclone remove` or `rclone mount` the contents of the linked folder will be deleted.
It isn't currently possible to create shortcuts with rclone.
The [rclone backend](https://rclone.org/commands/rclone_backend/) command can be used to create shortcuts.
Shortcuts can be completely ignored with the `--drive-skip-shortcuts` flag
or the corresponding `skip_shortcuts` configuration setting.
@@ -18312,6 +18333,8 @@ Your Koofr user name
Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: password
- Env Var: RCLONE_KOOFR_PASSWORD
- Type: string
@@ -18544,6 +18567,8 @@ User name (usually email)
Password
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_MAILRU_PASS
- Type: string
@@ -18842,6 +18867,8 @@ User name
Password.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_MEGA_PASS
- Type: string
@@ -19818,6 +19845,8 @@ Username
Password.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: password
- Env Var: RCLONE_OPENDRIVE_PASSWORD
- Type: string
@@ -21394,6 +21423,8 @@ User name (usually email address)
Password
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_SEAFILE_PASS
- Type: string
@@ -21421,6 +21452,8 @@ Name of the library. Leave blank to access all non-encrypted libraries.
Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: library_key
- Env Var: RCLONE_SEAFILE_LIBRARY_KEY
- Type: string
@@ -21650,6 +21683,8 @@ SSH port, leave blank to use default (22)
SSH password, leave blank to use ssh-agent.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_SFTP_PASS
- Type: string
@@ -21680,6 +21715,8 @@ The passphrase to decrypt the PEM-encoded private key file.
Only PEM encrypted key files (old OpenSSH format) are supported. Encrypted keys
in the new OpenSSH format can't be used.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: key_file_pass
- Env Var: RCLONE_SFTP_KEY_FILE_PASS
- Type: string
@@ -22778,6 +22815,8 @@ User name
Password.
**NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
- Config: pass
- Env Var: RCLONE_WEBDAV_PASS
- Type: string
@@ -23596,6 +23635,39 @@ Options:
# Changelog
## v1.52.1 - 2020-06-10
[See commits](https://github.com/rclone/rclone/compare/v1.52.0...v1.52.1)
* Bug Fixes
* lib/file: Fix SetSparse on Windows 7 which fixes downloads of files > 250MB (Nick Craig-Wood)
* build
* Update go.mod to go1.14 to enable -mod=vendor build (Nick Craig-Wood)
* Remove quicktest from Dockerfile (Nick Craig-Wood)
* Build Docker images with GitHub actions (Matteo Pietro Dazzi)
* Update Docker build workflows (Nick Craig-Wood)
* Set user_allow_other in /etc/fuse.conf in the Docker image (Nick Craig-Wood)
* Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
* docs
* Add link to source and modified time to footer of every page (Nick Craig-Wood)
* Remove manually set dates and use git dates instead (Nick Craig-Wood)
* Minor tense, punctuation, brevity and positivity changes for the home page (edwardxml)
* Remove leading slash in page reference in footer when present (Nick Craig-Wood)
* Note commands which need obscured input in the docs (Nick Craig-Wood)
* obscure: Write more help as we are referencing it elsewhere (Nick Craig-Wood)
* VFS
* Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick Craig-Wood)
* Drive
* Fix missing items when listing using --fast-list / ListR (Nick Craig-Wood)
* Putio
* Fix panic on Object.Open (Cenk Alti)
* S3
* Fix upload of single files into buckets without create permission (Nick Craig-Wood)
* Fix --header-upload (Nick Craig-Wood)
* Tardigrade
* Fix listing bug by upgrading to v1.0.7
* Set UserAgent to rclone (Caleb Case)
## v1.52.0 - 2020-05-27
Special thanks to Martin Michlmayr for proof reading and correcting

156
MANUAL.txt generated
View File

@@ -1,6 +1,6 @@
rclone(1) User Manual
Nick Craig-Wood
May 27, 2020
Jun 10, 2020
@@ -8,9 +8,9 @@ RCLONE SYNCS YOUR FILES TO CLOUD STORAGE
- About rclone
- What can rclone do for you
- What features does rclone have
- What providers does rclone support
- What can rclone do for you?
- What features does rclone have?
- What providers does rclone support?
- Download
- Install
- Donate.
@@ -26,26 +26,26 @@ transfer protocols.
Rclone has powerful cloud equivalents to the unix commands rsync, cp,
mv, mount, ls, ncdu, tree, rm, and cat. Rclones familiar syntax
includes shell pipeline support, and --dry-run protection. It can be
used at the command line, in scripts or via its API.
includes shell pipeline support, and --dry-run protection. It is used at
the command line, in scripts or via its API.
Users have called rclone _“The Swiss army knife of cloud storage”_ and
Users call rclone _“The Swiss army knife of cloud storage”_, and
_“Technology indistinguishable from magic”_.
Rclone really looks after your data. It preserves timestamps and
verifies your data at all times. Transfers over limited bandwidth;
verifies checksums at all times. Transfers over limited bandwidth;
intermittent connections, or subject to quota can be restarted, from the
last good file transferred. You can check the integrity of your files.
Where possible, rclone employs server side transfers to minimise local
bandwidth use and transfers from one provider to another without using
your local disk.
local disk.
Virtual backends wrap local and cloud file systems to apply encryption,
caching, chunking and joining.
Rclone can mount any local, cloud or virtual filesystem as a disk on
Windows, macOS, linux and FreeBSD, and also serve these over SFTP, HTTP,
WebDAV, FTP and DLNA.
Rclone mounts any local, cloud or virtual filesystem as a disk on
Windows, macOS, linux and FreeBSD, and also serves these over SFTP,
HTTP, WebDAV, FTP and DLNA.
Rclone is mature, open source software originally inspired by rsync and
written in Go. The friendly support community are familiar with varied
@@ -54,15 +54,15 @@ include rclone. For the latest version downloading from rclone.org is
recommended.
Rclone is widely used on Linux, Windows and Mac. Third party developers
have built innovative backup, restore, GUI and business process
solutions using the rclone command line or API.
create innovative backup, restore, GUI and business process solutions
using the rclone command line or API.
Let rclone do the heavy lifting of communicating with cloud storage.
Rclone does the heavy lifting of communicating with cloud storage.
What can rclone do for you
What can rclone do for you?
Rclone can help you:
Rclone helps you:
- Backup (and encrypt) files to cloud storage
- Restore (and decrypt) files from cloud storage
@@ -94,8 +94,8 @@ Features
Supported providers
(There are many other providers, built on standard protocols such as
WebDAV or S3, that work out of the box.)
(There are many others, built on standard protocols such as WebDAV or
S3, that work out of the box.)
- 1Fichier
- Alibaba Cloud (Aliyun) Object Storage System (OSS)
@@ -3157,12 +3157,23 @@ SEE ALSO
RCLONE OBSCURE
Obscure password for use in the rclone.conf
Obscure password for use in the rclone config file
Synopsis
Obscure password for use in the rclone.conf
In the rclone config file, human readable passwords are obscured.
Obscuring them is done by encrypting them and writing them out in
base64. This is NOT a secure way of encrypting these passwords as rclone
can decrypt them - it is to prevent “eyedropping” - namely someone
seeing a password in the rclone config file by accident.
Many equally important things (like access tokens) are not obscured in
the config file. However it is very hard to shoulder surf a 64 character
hex token.
If you want to encrypt the config file then please use config file
encryption - see rclone config for more info.
rclone obscure password [flags]
@@ -9741,7 +9752,7 @@ These flags are available for every command.
--use-json-log Use json log format.
--use-mmap Use mmap allocator (see docs).
--use-server-modtime Use server modified time instead of object metadata
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.52.0")
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.52.1")
-v, --verbose count Print lots more stuff (repeat for more)
@@ -9801,7 +9812,7 @@ and may be set in the config file.
--cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
--cache-info-age Duration How long to cache file structure information (directory listings, file size, times etc). (default 6h0m0s)
--cache-plex-insecure string Skip all certificate verification when connecting to the Plex server
--cache-plex-password string The password of the Plex user
--cache-plex-password string The password of the Plex user (obscured)
--cache-plex-url string The URL of the Plex server
--cache-plex-username string The username of the Plex user
--cache-read-retries int How many times to retry a read from a cache storage. (default 10)
@@ -9821,8 +9832,8 @@ and may be set in the config file.
-L, --copy-links Follow symlinks and copy the pointed to item.
--crypt-directory-name-encryption Option to either encrypt directory names or leave them intact. (default true)
--crypt-filename-encryption string How to encrypt the filenames. (default "standard")
--crypt-password string Password or pass phrase for encryption.
--crypt-password2 string Password or pass phrase for salt. Optional but recommended.
--crypt-password string Password or pass phrase for encryption. (obscured)
--crypt-password2 string Password or pass phrase for salt. Optional but recommended. (obscured)
--crypt-remote string Remote to encrypt/decrypt.
--crypt-show-mapping For all files listed show how the names encrypt.
--drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
@@ -9873,7 +9884,7 @@ and may be set in the config file.
--ftp-encoding MultiEncoder This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
--ftp-host string FTP host to connect to
--ftp-no-check-certificate Do not verify the TLS certificate of the server
--ftp-pass string FTP password
--ftp-pass string FTP password (obscured)
--ftp-port string FTP port, leave blank to use default (21)
--ftp-tls Use FTP over TLS (Implicit)
--ftp-user string FTP username, leave blank for current username, $USER
@@ -9910,7 +9921,7 @@ and may be set in the config file.
--koofr-encoding MultiEncoder This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--koofr-endpoint string The Koofr API endpoint to use (default "https://app.koofr.net")
--koofr-mountid string Mount ID of the mount to use. If omitted, the primary mount is used.
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
--koofr-password string Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
--koofr-setmtime Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
--koofr-user string Your Koofr user name
-l, --links Translate symlinks to/from regular files with a '.rclonelink' extension
@@ -9923,7 +9934,7 @@ and may be set in the config file.
--local-nounc string Disable UNC (long path names) conversion on Windows
--mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
--mailru-encoding MultiEncoder This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
--mailru-pass string Password
--mailru-pass string Password (obscured)
--mailru-speedup-enable Skip full upload if there is another file with same data hash. (default true)
--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")
--mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3G)
@@ -9932,7 +9943,7 @@ and may be set in the config file.
--mega-debug Output more debug from Mega.
--mega-encoding MultiEncoder This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
--mega-hard-delete Delete files permanently rather than putting them into the trash.
--mega-pass string Password.
--mega-pass string Password. (obscured)
--mega-user string User name
-x, --one-file-system Don't cross filesystem boundaries (unix/macOS only).
--onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
@@ -9945,7 +9956,7 @@ and may be set in the config file.
--onedrive-server-side-across-configs Allow server side operations (eg copy) to work across different onedrive configs.
--opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size. (default 10M)
--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)
--opendrive-password string Password.
--opendrive-password string Password. (obscured)
--opendrive-username string Username
--pcloud-client-id string Pcloud App Client Id
--pcloud-client-secret string Pcloud App Client Secret
@@ -9996,19 +10007,19 @@ and may be set in the config file.
--seafile-create-library Should rclone create a library if it doesn't exist
--seafile-encoding MultiEncoder This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
--seafile-library string Name of the library. Leave blank to access all non-encrypted libraries.
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
--seafile-pass string Password
--seafile-library-key string Library password (for encrypted libraries only). Leave blank if you pass it through the command line. (obscured)
--seafile-pass string Password (obscured)
--seafile-url string URL of seafile host to connect to
--seafile-user string User name (usually email address)
--sftp-ask-password Allow asking for SFTP password when needed.
--sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available.
--sftp-host string SSH host to connect to
--sftp-key-file string Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file.
--sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file. (obscured)
--sftp-key-pem string Raw PEM-encoded private key, If specified, will override key_file parameter.
--sftp-key-use-agent When set forces the usage of the ssh-agent.
--sftp-md5sum-command string The command used to read md5 hashes. Leave blank for autodetect.
--sftp-pass string SSH password, leave blank to use ssh-agent.
--sftp-pass string SSH password, leave blank to use ssh-agent. (obscured)
--sftp-path-override string Override path used by SSH connection.
--sftp-port string SSH port, leave blank to use default (22)
--sftp-set-modtime Set the modified time on the remote if set. (default true)
@@ -10066,7 +10077,7 @@ and may be set in the config file.
--union-upstreams string List of space separated upstreams.
--webdav-bearer-token string Bearer token instead of user/pass (eg a Macaroon)
--webdav-bearer-token-command string Command to run to get a bearer token
--webdav-pass string Password.
--webdav-pass string Password. (obscured)
--webdav-url string URL of http host to connect to
--webdav-user string User name
--webdav-vendor string Name of the Webdav site/service/software you are using
@@ -13652,6 +13663,8 @@ The username of the Plex user
The password of the Plex user
NB Input to this must be obscured - see rclone obscure.
- Config: plex_password
- Env Var: RCLONE_CACHE_PLEX_PASSWORD
- Type: string
@@ -14887,6 +14900,8 @@ NB If filename_encryption is “off” then this option will do nothing.
Password or pass phrase for encryption.
NB Input to this must be obscured - see rclone obscure.
- Config: password
- Env Var: RCLONE_CRYPT_PASSWORD
- Type: string
@@ -14897,6 +14912,8 @@ Password or pass phrase for encryption.
Password or pass phrase for salt. Optional but recommended. Should be
different to the previous password.
NB Input to this must be obscured - see rclone obscure.
- Config: password2
- Env Var: RCLONE_CRYPT_PASSWORD2
- Type: string
@@ -15478,6 +15495,8 @@ FTP port, leave blank to use default (21)
FTP password
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_FTP_PASS
- Type: string
@@ -16418,7 +16437,7 @@ For shortcuts pointing to folders:
- NB When deleting with rclone remove or rclone mount the contents of
the linked folder will be deleted.
It isnt currently possible to create shortcuts with rclone.
The rclone backend command can be used to create shortcuts.
Shortcuts can be completely ignored with the --drive-skip-shortcuts flag
or the corresponding skip_shortcuts configuration setting.
@@ -18315,6 +18334,8 @@ Your Koofr user name
Your Koofr password for rclone (generate one at
https://app.koofr.net/app/admin/preferences/password)
NB Input to this must be obscured - see rclone obscure.
- Config: password
- Env Var: RCLONE_KOOFR_PASSWORD
- Type: string
@@ -18550,6 +18571,8 @@ User name (usually email)
Password
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_MAILRU_PASS
- Type: string
@@ -18848,6 +18871,8 @@ User name
Password.
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_MEGA_PASS
- Type: string
@@ -19834,6 +19859,8 @@ Username
Password.
NB Input to this must be obscured - see rclone obscure.
- Config: password
- Env Var: RCLONE_OPENDRIVE_PASSWORD
- Type: string
@@ -21379,6 +21406,8 @@ User name (usually email address)
Password
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_SEAFILE_PASS
- Type: string
@@ -21407,6 +21436,8 @@ Name of the library. Leave blank to access all non-encrypted libraries.
Library password (for encrypted libraries only). Leave blank if you pass
it through the command line.
NB Input to this must be obscured - see rclone obscure.
- Config: library_key
- Env Var: RCLONE_SEAFILE_LIBRARY_KEY
- Type: string
@@ -21634,6 +21665,8 @@ SSH port, leave blank to use default (22)
SSH password, leave blank to use ssh-agent.
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_SFTP_PASS
- Type: string
@@ -21666,6 +21699,8 @@ The passphrase to decrypt the PEM-encoded private key file.
Only PEM encrypted key files (old OpenSSH format) are supported.
Encrypted keys in the new OpenSSH format cant be used.
NB Input to this must be obscured - see rclone obscure.
- Config: key_file_pass
- Env Var: RCLONE_SFTP_KEY_FILE_PASS
- Type: string
@@ -22826,6 +22861,8 @@ User name
Password.
NB Input to this must be obscured - see rclone obscure.
- Config: pass
- Env Var: RCLONE_WEBDAV_PASS
- Type: string
@@ -23597,6 +23634,53 @@ Options:
CHANGELOG
v1.52.1 - 2020-06-10
See commits
- Bug Fixes
- lib/file: Fix SetSparse on Windows 7 which fixes downloads of
files > 250MB (Nick Craig-Wood)
- build
- Update go.mod to go1.14 to enable -mod=vendor build (Nick
Craig-Wood)
- Remove quicktest from Dockerfile (Nick Craig-Wood)
- Build Docker images with GitHub actions (Matteo Pietro
Dazzi)
- Update Docker build workflows (Nick Craig-Wood)
- Set user_allow_other in /etc/fuse.conf in the Docker image
(Nick Craig-Wood)
- Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
- docs
- Add link to source and modified time to footer of every page
(Nick Craig-Wood)
- Remove manually set dates and use git dates instead (Nick
Craig-Wood)
- Minor tense, punctuation, brevity and positivity changes for
the home page (edwardxml)
- Remove leading slash in page reference in footer when
present (Nick Craig-Wood)
- Note commands which need obscured input in the docs (Nick
Craig-Wood)
- obscure: Write more help as we are referencing it elsewhere
(Nick Craig-Wood)
- VFS
- Fix OS vs Unix path confusion - fixes ChangeNotify on Windows
(Nick Craig-Wood)
- Drive
- Fix missing items when listing using fast-list / ListR (Nick
Craig-Wood)
- Putio
- Fix panic on Object.Open (Cenk Alti)
- S3
- Fix upload of single files into buckets without create
permission (Nick Craig-Wood)
- Fix header-upload (Nick Craig-Wood)
- Tardigrade
- Fix listing bug by upgrading to v1.0.7
- Set UserAgent to rclone (Caleb Case)
v1.52.0 - 2020-05-27
Special thanks to Martin Michlmayr for proof reading and correcting all

View File

@@ -1 +1 @@
v1.52.0
v1.52.1

View File

@@ -24,6 +24,7 @@ import (
"strconv"
"strings"
"sync"
"sync/atomic"
"text/template"
"time"
@@ -68,6 +69,8 @@ const (
minChunkSize = 256 * fs.KibiByte
defaultChunkSize = 8 * fs.MebiByte
partialFields = "id,name,size,md5Checksum,trashed,modifiedTime,createdTime,mimeType,parents,webViewLink,shortcutDetails"
listRGrouping = 50 // number of IDs to search at once when using ListR
listRInputBuffer = 1000 // size of input buffer when using ListR
)
// Globals
@@ -558,6 +561,9 @@ type Fs struct {
isTeamDrive bool // true if this is a team drive
fileFields googleapi.Field // fields to fetch file info with
m configmap.Mapper
grouping int32 // number of IDs to search at once in ListR - read with atomic
listRmu *sync.Mutex // protects listRempties
listRempties map[string]struct{} // IDs of supposedly empty directories which triggered grouping disable
}
type baseObject struct {
@@ -1079,11 +1085,14 @@ func NewFs(name, path string, m configmap.Mapper) (fs.Fs, error) {
}
f := &Fs{
name: name,
root: root,
opt: *opt,
pacer: newPacer(opt),
m: m,
name: name,
root: root,
opt: *opt,
pacer: newPacer(opt),
m: m,
grouping: listRGrouping,
listRmu: new(sync.Mutex),
listRempties: make(map[string]struct{}),
}
f.isTeamDrive = opt.TeamDriveID != ""
f.fileFields = f.getFileFields()
@@ -1634,15 +1643,17 @@ func (s listRSlices) Less(i, j int) bool {
// In each cycle it will read up to grouping entries from the in channel without blocking.
// If an error occurs it will be send to the out channel and then return. Once the in channel is closed,
// nil is send to the out channel and the function returns.
func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan listREntry, out chan<- error, cb func(fs.DirEntry) error, grouping int) {
func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in chan listREntry, out chan<- error, cb func(fs.DirEntry) error) {
var dirs []string
var paths []string
var grouping int32
for dir := range in {
dirs = append(dirs[:0], dir.id)
paths = append(paths[:0], dir.path)
grouping = atomic.LoadInt32(&f.grouping)
waitloop:
for i := 1; i < grouping; i++ {
for i := int32(1); i < grouping; i++ {
select {
case d, ok := <-in:
if !ok {
@@ -1655,6 +1666,7 @@ func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan list
}
listRSlices{dirs, paths}.Sort()
var iErr error
foundItems := false
_, err := f.list(ctx, dirs, "", false, false, false, func(item *drive.File) bool {
// shared with me items have no parents when at the root
if f.opt.SharedWithMe && len(item.Parents) == 0 && len(paths) == 1 && paths[0] == "" {
@@ -1662,6 +1674,7 @@ func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan list
}
for _, parent := range item.Parents {
var i int
foundItems = true
earlyExit := false
// If only one item in paths then no need to search for the ID
// assuming google drive is doing its job properly.
@@ -1702,6 +1715,53 @@ func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan list
}
return false
})
// Found no items in more than one directory. Retry these as
// individual directories This is to work around a bug in google
// drive where (A in parents) or (B in parents) returns nothing
// sometimes. See #3114, #4289 and
// https://issuetracker.google.com/issues/149522397
if len(dirs) > 1 && !foundItems {
if atomic.SwapInt32(&f.grouping, 1) != 1 {
fs.Logf(f, "Disabling ListR to work around bug in drive as multi listing (%d) returned no entries", len(dirs))
}
var recycled = make([]listREntry, len(dirs))
f.listRmu.Lock()
for i := range dirs {
recycled[i] = listREntry{id: dirs[i], path: paths[i]}
// Make a note of these dirs - if they all turn
// out to be empty then we can re-enable grouping
f.listRempties[dirs[i]] = struct{}{}
}
f.listRmu.Unlock()
// recycle these in the background so we don't deadlock
// the listR runners if they all get here
wg.Add(len(recycled))
go func() {
for _, entry := range recycled {
in <- entry
}
fs.Debugf(f, "Recycled %d entries", len(recycled))
}()
}
// If using a grouping of 1 and dir was empty then check to see if it
// is part of the group that caused grouping to be disabled.
if grouping == 1 && len(dirs) == 1 && !foundItems {
f.listRmu.Lock()
if _, found := f.listRempties[dirs[0]]; found {
// Remove the ID
delete(f.listRempties, dirs[0])
// If no empties left => all the directories that
// triggered the grouping being set to 1 were actually
// empty so must have made a mistake
if len(f.listRempties) == 0 {
if atomic.SwapInt32(&f.grouping, listRGrouping) != listRGrouping {
fs.Logf(f, "Re-enabling ListR as previous detection was in error")
}
}
}
f.listRmu.Unlock()
}
for range dirs {
wg.Done()
}
@@ -1736,11 +1796,6 @@ func (f *Fs) listRRunner(ctx context.Context, wg *sync.WaitGroup, in <-chan list
// Don't implement this unless you have a more efficient way
// of listing recursively that doing a directory traversal.
func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (err error) {
const (
grouping = 50
inputBuffer = 1000
)
err = f.dirCache.FindRoot(ctx, false)
if err != nil {
return err
@@ -1753,7 +1808,7 @@ func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (
mu := sync.Mutex{} // protects in and overflow
wg := sync.WaitGroup{}
in := make(chan listREntry, inputBuffer)
in := make(chan listREntry, listRInputBuffer)
out := make(chan error, fs.Config.Checkers)
list := walk.NewListRHelper(callback)
overflow := []listREntry{}
@@ -1766,6 +1821,9 @@ func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (
job := listREntry{actualID(d.ID()), d.Remote()}
select {
case in <- job:
// Adding the wg after we've entered the item is
// safe here because we know when the callback
// is called we are holding a waitgroup.
wg.Add(1)
default:
overflow = append(overflow, job)
@@ -1779,7 +1837,7 @@ func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (
in <- listREntry{directoryID, dir}
for i := 0; i < fs.Config.Checkers; i++ {
go f.listRRunner(ctx, &wg, in, out, cb, grouping)
go f.listRRunner(ctx, &wg, in, out, cb)
}
go func() {
// wait until the all directories are processed
@@ -1789,8 +1847,8 @@ func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (
mu.Lock()
l := len(overflow)
// only fill half of the channel to prevent entries being put into overflow again
if l > inputBuffer/2 {
l = inputBuffer / 2
if l > listRInputBuffer/2 {
l = listRInputBuffer / 2
}
wg.Add(l)
for _, d := range overflow[:l] {

View File

@@ -248,7 +248,10 @@ func (o *Object) Open(ctx context.Context, options ...fs.OpenOption) (in io.Read
_ = resp.Body.Close()
return nil, fserrors.NoRetryError(err)
}
return resp.Body, err
if err != nil {
return nil, err
}
return resp.Body, nil
}
// Update the already existing object

View File

@@ -59,6 +59,7 @@ import (
"github.com/rclone/rclone/lib/pool"
"github.com/rclone/rclone/lib/readers"
"github.com/rclone/rclone/lib/rest"
"github.com/rclone/rclone/lib/structs"
"golang.org/x/sync/errgroup"
)
@@ -2033,11 +2034,17 @@ func (o *Object) readMetaData(ctx context.Context) (err error) {
if err != nil {
if awsErr, ok := err.(awserr.RequestFailure); ok {
if awsErr.StatusCode() == http.StatusNotFound {
// NotFound indicates bucket was OK
// NoSuchBucket would be returned if bucket was bad
if awsErr.Code() == "NotFound" {
o.fs.cache.MarkOK(bucket)
}
return fs.ErrorObjectNotFound
}
}
return err
}
o.fs.cache.MarkOK(bucket)
var size int64
// Ignore missing Content-Length assuming it is 0
// Some versions of ceph do this due their apache proxies
@@ -2198,19 +2205,12 @@ func (o *Object) uploadMultipart(ctx context.Context, req *s3.PutObjectInput, si
memPool := f.getMemoryPool(int64(partSize))
var mReq s3.CreateMultipartUploadInput
structs.SetFrom(&mReq, req)
var cout *s3.CreateMultipartUploadOutput
err = f.pacer.Call(func() (bool, error) {
var err error
cout, err = f.c.CreateMultipartUploadWithContext(ctx, &s3.CreateMultipartUploadInput{
Bucket: req.Bucket,
ACL: req.ACL,
Key: req.Key,
ContentType: req.ContentType,
Metadata: req.Metadata,
ServerSideEncryption: req.ServerSideEncryption,
SSEKMSKeyId: req.SSEKMSKeyId,
StorageClass: req.StorageClass,
})
cout, err = f.c.CreateMultipartUploadWithContext(ctx, &mReq)
return f.shouldRetry(err)
})
if err != nil {
@@ -2423,6 +2423,35 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
if o.fs.opt.StorageClass != "" {
req.StorageClass = &o.fs.opt.StorageClass
}
// Apply upload options
for _, option := range options {
key, value := option.Header()
lowerKey := strings.ToLower(key)
switch lowerKey {
case "":
// ignore
case "cache-control":
req.CacheControl = aws.String(value)
case "content-disposition":
req.ContentDisposition = aws.String(value)
case "content-encoding":
req.ContentEncoding = aws.String(value)
case "content-language":
req.ContentLanguage = aws.String(value)
case "content-type":
req.ContentType = aws.String(value)
case "x-amz-tagging":
req.Tagging = aws.String(value)
default:
const amzMetaPrefix = "x-amz-meta-"
if strings.HasPrefix(lowerKey, amzMetaPrefix) {
metaKey := lowerKey[len(amzMetaPrefix):]
req.Metadata[metaKey] = aws.String(value)
} else {
fs.Errorf(o, "Don't know how to set key %q on upload", key)
}
}
}
if multipart {
err = o.uploadMultipart(ctx, &req, size, in)
@@ -2463,18 +2492,6 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
httpReq.Header = headers
httpReq.ContentLength = size
for _, option := range options {
switch option.(type) {
case *fs.HTTPOption:
key, value := option.Header()
httpReq.Header.Add(key, value)
default:
if option.Mandatory() {
fs.Logf(o, "Unsupported mandatory option: %v", option)
}
}
}
err = o.fs.pacer.CallNoRetry(func() (bool, error) {
resp, err := o.fs.srv.Do(httpReq)
if err != nil {

View File

@@ -269,7 +269,9 @@ func (f *Fs) connect(ctx context.Context) (project *uplink.Project, err error) {
fs.Debugf(f, "connecting...")
defer fs.Debugf(f, "connected: %+v", err)
cfg := uplink.Config{}
cfg := uplink.Config{
UserAgent: "rclone",
}
project, err = cfg.OpenProject(ctx, f.access)
if err != nil {

View File

@@ -486,6 +486,9 @@ func AddBackendFlags() {
help = help[:nl]
}
help = strings.TrimSpace(help)
if opt.IsPassword {
help += " (obscured)"
}
flag := pflag.CommandLine.VarPF(opt, name, opt.ShortOpt, help)
if _, isBool := opt.Default.(bool); isBool {
flag.NoOptDefVal = "true"

View File

@@ -33,7 +33,6 @@ type frontmatter struct {
}
var frontmatterTemplate = template.Must(template.New("frontmatter").Parse(`---
date: {{ .Date }}
title: "{{ .Title }}"
description: "{{ .Description }}"
slug: {{ .Slug }}
@@ -70,8 +69,7 @@ rclone.org website.`,
if err != nil {
return err
}
flagsHelp := strings.Replace(buf.String(), "YYYY-MM-DD", now, -1)
err = ioutil.WriteFile(filepath.Join(root, "flags.md"), []byte(flagsHelp), 0777)
err = ioutil.WriteFile(filepath.Join(root, "flags.md"), buf.Bytes(), 0777)
if err != nil {
return err
}

View File

@@ -245,7 +245,6 @@ Use "rclone help backends" for a list of supported services.
var docFlagsTemplate = `---
title: "Global Flags"
description: "Rclone Global Flags"
date: "YYYY-MM-DD"
---
# Global Flags
@@ -325,6 +324,9 @@ func showBackend(name string) {
}
fmt.Printf("#### --%s%s\n\n", opt.FlagName(backend.Prefix), shortOpt)
fmt.Printf("%s\n\n", opt.Help)
if opt.IsPassword {
fmt.Printf("**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).\n\n")
}
fmt.Printf("- Config: %s\n", opt.Name)
fmt.Printf("- Env Var: %s\n", opt.EnvVarName(backend.Prefix))
fmt.Printf("- Type: %s\n", opt.Type())

View File

@@ -78,7 +78,9 @@ func TestRc(t *testing.T) {
// mount
_, err = mount.Fn(ctx, in)
require.NoError(t, err)
if err != nil {
t.Skipf("Mount failed - skipping test: %v", err)
}
// check file.txt is there now
fi, err := os.Stat(filePath)

View File

@@ -14,7 +14,21 @@ func init() {
var commandDefinition = &cobra.Command{
Use: "obscure password",
Short: `Obscure password for use in the rclone.conf`,
Short: `Obscure password for use in the rclone config file`,
Long: `In the rclone config file, human readable passwords are
obscured. Obscuring them is done by encrypting them and writing them
out in base64. This is **not** a secure way of encrypting these
passwords as rclone can decrypt them - it is to prevent "eyedropping"
- namely someone seeing a password in the rclone config file by
accident.
Many equally important things (like access tokens) are not obscured in
the config file. However it is very hard to shoulder surf a 64
character hex token.
If you want to encrypt the config file then please use config file
encryption - see [rclone config](/commands/rclone_config/) for more
info.`,
Run: func(command *cobra.Command, args []string) {
cmd.CheckArgs(1, 1, command, args)
cmd.Run(false, false, command, func() error {

View File

@@ -16,6 +16,7 @@
"~$",
"^\\."
],
"enableGitInfo": true,
"markup": {
"goldmark": {
"extensions": {

View File

@@ -2,7 +2,6 @@
title: "Rclone"
description: "Rclone syncs your files to cloud storage: Google Drive, S3, Swift, Dropbox, Google Cloud Storage, Azure, Box and many more."
type: page
date: "2020-05-16"
---
# Rclone syncs your files to cloud storage
@@ -10,9 +9,9 @@ date: "2020-05-16"
{{< img width="50%" src="/img/logo_on_light__horizontal_color.svg" alt="rclone logo" style="float:right; padding: 5px;" >}}
- [About rclone](#about)
- [What can rclone do for you](#what)
- [What features does rclone have](#features)
- [What providers does rclone support](#providers)
- [What can rclone do for you?](#what)
- [What features does rclone have?](#features)
- [What providers does rclone support?](#providers)
- [Download](/downloads/)
- [Install](/install/)
{{< rem MAINPAGELINK >}}
@@ -27,20 +26,20 @@ services, as well as standard transfer protocols.
Rclone has powerful cloud equivalents to the unix commands rsync, cp,
mv, mount, ls, ncdu, tree, rm, and cat. Rclone's familiar syntax
includes shell pipeline support, and `--dry-run` protection. It can be
includes shell pipeline support, and `--dry-run` protection. It is
used at the command line, in scripts or via its [API](/rc).
Users have called rclone *"The Swiss army knife of cloud storage"* and
Users call rclone *"The Swiss army knife of cloud storage"*, and
*"Technology indistinguishable from magic"*.
Rclone really looks after your data. It preserves timestamps and
verifies your data at all times. Transfers over limited bandwidth;
verifies checksums at all times. Transfers over limited bandwidth;
intermittent connections, or subject to quota can be restarted, from
the last good file transferred. You can
[check](/commands/rclone_check/) the integrity of your files. Where
possible, rclone employs server side transfers to minimise local
bandwidth use and transfers from one provider to another without
using your local disk.
using local disk.
Virtual backends wrap local and cloud file systems to apply
[encryption](/crypt/),
@@ -48,9 +47,9 @@ Virtual backends wrap local and cloud file systems to apply
[chunking](/chunker/) and
[joining](/union/).
Rclone can [mount](/commands/rclone_mount/) any local, cloud or
Rclone [mounts](/commands/rclone_mount/) any local, cloud or
virtual filesystem as a disk on Windows,
macOS, linux and FreeBSD, and also serve these over
macOS, linux and FreeBSD, and also serves these over
[SFTP](/commands/rclone_serve_sftp/),
[HTTP](/commands/rclone_serve_http/),
[WebDAV](/commands/rclone_serve_webdav/),
@@ -64,14 +63,14 @@ Fedora, Brew and Chocolatey repos. include rclone. For the latest
version [downloading from rclone.org](/downloads/) is recommended.
Rclone is widely used on Linux, Windows and Mac. Third party
developers have built innovative backup, restore, GUI and business
developers create innovative backup, restore, GUI and business
process solutions using the rclone command line or API.
Let rclone do the heavy lifting of communicating with cloud storage.
Rclone does the heavy lifting of communicating with cloud storage.
## What can rclone do for you {#what}
## What can rclone do for you? {#what}
Rclone can help you:
Rclone helps you:
- Backup (and encrypt) files to cloud storage
- Restore (and decrypt) files from cloud storage
@@ -99,7 +98,7 @@ Rclone can help you:
## Supported providers {#providers}
(There are many other providers, built on standard protocols such as
(There are many others, built on standard protocols such as
WebDAV or S3, that work out of the box.)
{{< provider_list >}}

View File

@@ -1,7 +1,6 @@
---
title: "Alias"
description: "Remote Aliases"
date: "2018-01-30"
---
{{< icon "fa fa-link" >}} Alias

View File

@@ -1,7 +1,6 @@
---
title: "Amazon Drive"
description: "Rclone docs for Amazon Drive"
date: "2017-06-10"
---
{{< icon "fab fa-amazon" >}} Amazon Drive

View File

@@ -1,7 +1,6 @@
---
title: "Authors"
description: "Rclone Authors and Contributors"
date: "2016-11-02"
---
Authors

View File

@@ -1,7 +1,6 @@
---
title: "Microsoft Azure Blob Storage"
description: "Rclone docs for Microsoft Azure Blob Storage"
date: "2017-07-30"
---
{{< icon "fab fa-windows" >}} Microsoft Azure Blob Storage

View File

@@ -1,7 +1,6 @@
---
title: "B2"
description: "Backblaze B2"
date: "2016-10-25"
---
{{< icon "fa fa-fire" >}} Backblaze B2

View File

@@ -1,7 +1,6 @@
---
title: "Box"
description: "Rclone docs for Box"
date: "2015-10-14"
---
{{< icon "fa fa-archive" >}} Box

View File

@@ -1,7 +1,6 @@
---
title: "Bugs"
description: "Rclone Bugs and Limitations"
date: "2019-08-04"
---
# Bugs and Limitations

View File

@@ -1,7 +1,6 @@
---
title: "Cache"
description: "Rclone docs for cache remote"
date: "2017-09-03"
---
{{< icon "fa fa-archive" >}} Cache (BETA)
@@ -344,6 +343,8 @@ The username of the Plex user
The password of the Plex user
**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).
- Config: plex_password
- Env Var: RCLONE_CACHE_PLEX_PASSWORD
- Type: string

View File

@@ -1,11 +1,43 @@
---
title: "Documentation"
description: "Rclone Changelog"
date: "2020-05-27"
---
# Changelog
## v1.52.1 - 2020-06-10
[See commits](https://github.com/rclone/rclone/compare/v1.52.0...v1.52.1)
* Bug Fixes
* lib/file: Fix SetSparse on Windows 7 which fixes downloads of files > 250MB (Nick Craig-Wood)
* build
* Update go.mod to go1.14 to enable -mod=vendor build (Nick Craig-Wood)
* Remove quicktest from Dockerfile (Nick Craig-Wood)
* Build Docker images with GitHub actions (Matteo Pietro Dazzi)
* Update Docker build workflows (Nick Craig-Wood)
* Set user_allow_other in /etc/fuse.conf in the Docker image (Nick Craig-Wood)
* Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
* docs
* Add link to source and modified time to footer of every page (Nick Craig-Wood)
* Remove manually set dates and use git dates instead (Nick Craig-Wood)
* Minor tense, punctuation, brevity and positivity changes for the home page (edwardxml)
* Remove leading slash in page reference in footer when present (Nick Craig-Wood)
* Note commands which need obscured input in the docs (Nick Craig-Wood)
* obscure: Write more help as we are referencing it elsewhere (Nick Craig-Wood)
* VFS
* Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick Craig-Wood)
* Drive
* Fix missing items when listing using --fast-list / ListR (Nick Craig-Wood)
* Putio
* Fix panic on Object.Open (Cenk Alti)
* S3
* Fix upload of single files into buckets without create permission (Nick Craig-Wood)
* Fix --header-upload (Nick Craig-Wood)
* Tardigrade
* Fix listing bug by upgrading to v1.0.7
* Set UserAgent to rclone (Caleb Case)
## v1.52.0 - 2020-05-27
Special thanks to Martin Michlmayr for proof reading and correcting

View File

@@ -1,7 +1,6 @@
---
title: "Chunker"
description: "Split-chunking overlay remote"
date: "2019-08-30"
---
{{< icon "fa fa-cut" >}}Chunker (BETA)

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone"
description: "Show help for rclone commands, flags and backends."
slug: rclone
@@ -66,7 +65,7 @@ See the [global flags page](/flags/) for global options not listed here.
* [rclone move](/commands/rclone_move/) - Move files from source to dest.
* [rclone moveto](/commands/rclone_moveto/) - Move file or directory from source to dest.
* [rclone ncdu](/commands/rclone_ncdu/) - Explore a remote with a text based user interface.
* [rclone obscure](/commands/rclone_obscure/) - Obscure password for use in the rclone.conf
* [rclone obscure](/commands/rclone_obscure/) - Obscure password for use in the rclone config file
* [rclone purge](/commands/rclone_purge/) - Remove the path and all of its contents.
* [rclone rc](/commands/rclone_rc/) - Run a command against a running rclone.
* [rclone rcat](/commands/rclone_rcat/) - Copies standard input to file on remote.

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone about"
description: "Get quota information from the remote."
slug: rclone_about

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone authorize"
description: "Remote authorization."
slug: rclone_authorize

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone backend"
description: "Run a backend specific command."
slug: rclone_backend

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone cat"
description: "Concatenates any files and sends them to stdout."
slug: rclone_cat

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone check"
description: "Checks the files in the source and destination match."
slug: rclone_check

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone cleanup"
description: "Clean up the remote if possible"
slug: rclone_cleanup

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config"
description: "Enter an interactive configuration session."
slug: rclone_config

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config create"
description: "Create a new remote with name, type and options."
slug: rclone_config_create

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config delete"
description: "Delete an existing remote `name`."
slug: rclone_config_delete

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config disconnect"
description: "Disconnects user from remote"
slug: rclone_config_disconnect

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config dump"
description: "Dump the config file as JSON."
slug: rclone_config_dump

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config edit"
description: "Enter an interactive configuration session."
slug: rclone_config_edit

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config file"
description: "Show path of configuration file in use."
slug: rclone_config_file

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config password"
description: "Update password in an existing remote."
slug: rclone_config_password

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config providers"
description: "List in JSON format all the providers and options."
slug: rclone_config_providers

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config reconnect"
description: "Re-authenticates user with remote."
slug: rclone_config_reconnect

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config show"
description: "Print (decrypted) config file, or the config for a single remote."
slug: rclone_config_show

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config update"
description: "Update options in an existing remote."
slug: rclone_config_update

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone config userinfo"
description: "Prints info about logged in user of remote."
slug: rclone_config_userinfo

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone copy"
description: "Copy files from source to dest, skipping already copied"
slug: rclone_copy

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone copyto"
description: "Copy files from source to dest, skipping already copied"
slug: rclone_copyto

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone copyurl"
description: "Copy url content to dest."
slug: rclone_copyurl

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone cryptcheck"
description: "Cryptcheck checks the integrity of a crypted remote."
slug: rclone_cryptcheck

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone cryptdecode"
description: "Cryptdecode returns unencrypted file names."
slug: rclone_cryptdecode

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone dedupe"
description: "Interactively find duplicate files and delete/rename them."
slug: rclone_dedupe

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone delete"
description: "Remove the contents of path."
slug: rclone_delete

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone deletefile"
description: "Remove a single file from remote."
slug: rclone_deletefile

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone genautocomplete"
description: "Output completion script for a given shell."
slug: rclone_genautocomplete

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone genautocomplete bash"
description: "Output bash completion script for rclone."
slug: rclone_genautocomplete_bash

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone genautocomplete fish"
description: "Output fish completion script for rclone."
slug: rclone_genautocomplete_fish

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone genautocomplete zsh"
description: "Output zsh completion script for rclone."
slug: rclone_genautocomplete_zsh

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone gendocs"
description: "Output markdown docs for rclone to the directory supplied."
slug: rclone_gendocs

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone hashsum"
description: "Produces a hashsum file for all the objects in the path."
slug: rclone_hashsum

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone link"
description: "Generate public link to file/folder."
slug: rclone_link

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone listremotes"
description: "List all the remotes in the config file."
slug: rclone_listremotes

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone ls"
description: "List the objects in the path with size and path."
slug: rclone_ls

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone lsd"
description: "List all directories/containers/buckets in the path."
slug: rclone_lsd

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone lsf"
description: "List directories and objects in remote:path formatted for parsing"
slug: rclone_lsf

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone lsjson"
description: "List directories and objects in the path in JSON format."
slug: rclone_lsjson

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone lsl"
description: "List the objects in path with modification time, size and path."
slug: rclone_lsl

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone md5sum"
description: "Produces an md5sum file for all the objects in the path."
slug: rclone_md5sum

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone mkdir"
description: "Make the path if it doesn't already exist."
slug: rclone_mkdir

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone mount"
description: "Mount the remote as file system on a mountpoint."
slug: rclone_mount

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone move"
description: "Move files from source to dest."
slug: rclone_move

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone moveto"
description: "Move file or directory from source to dest."
slug: rclone_moveto

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone ncdu"
description: "Explore a remote with a text based user interface."
slug: rclone_ncdu

View File

@@ -1,18 +1,30 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone obscure"
description: "Obscure password for use in the rclone.conf"
description: "Obscure password for use in the rclone config file"
slug: rclone_obscure
url: /commands/rclone_obscure/
# autogenerated - DO NOT EDIT, instead edit the source code in cmd/obscure/ and as part of making a release run "make commanddocs"
---
# rclone obscure
Obscure password for use in the rclone.conf
Obscure password for use in the rclone config file
## Synopsis
Obscure password for use in the rclone.conf
In the rclone config file, human readable passwords are
obscured. Obscuring them is done by encrypting them and writing them
out in base64. This is **not** a secure way of encrypting these
passwords as rclone can decrypt them - it is to prevent "eyedropping"
- namely someone seeing a password in the rclone config file by
accident.
Many equally important things (like access tokens) are not obscured in
the config file. However it is very hard to shoulder surf a 64
character hex token.
If you want to encrypt the config file then please use config file
encryption - see [rclone config](/commands/rclone_config/) for more
info.
```
rclone obscure password [flags]

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone purge"
description: "Remove the path and all of its contents."
slug: rclone_purge

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone rc"
description: "Run a command against a running rclone."
slug: rclone_rc

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone rcat"
description: "Copies standard input to file on remote."
slug: rclone_rcat

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone rcd"
description: "Run rclone listening to remote control commands only."
slug: rclone_rcd

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone rmdir"
description: "Remove the path if empty."
slug: rclone_rmdir

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone rmdirs"
description: "Remove empty directories under the path."
slug: rclone_rmdirs

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve"
description: "Serve a remote over a protocol."
slug: rclone_serve

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve dlna"
description: "Serve remote:path over DLNA"
slug: rclone_serve_dlna

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve ftp"
description: "Serve remote:path over FTP."
slug: rclone_serve_ftp

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve http"
description: "Serve the remote over HTTP."
slug: rclone_serve_http

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve restic"
description: "Serve the remote for restic's REST API."
slug: rclone_serve_restic

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve sftp"
description: "Serve the remote over SFTP."
slug: rclone_serve_sftp

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone serve webdav"
description: "Serve remote:path over webdav."
slug: rclone_serve_webdav

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone settier"
description: "Changes storage class/tier of objects in remote."
slug: rclone_settier

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone sha1sum"
description: "Produces an sha1sum file for all the objects in the path."
slug: rclone_sha1sum

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone size"
description: "Prints the total size and number of objects in remote:path."
slug: rclone_size

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone sync"
description: "Make source and dest identical, modifying destination only."
slug: rclone_sync

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone touch"
description: "Create new file or change file modification time."
slug: rclone_touch

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone tree"
description: "List the contents of the remote in a tree like fashion."
slug: rclone_tree

View File

@@ -1,5 +1,4 @@
---
date: 2020-05-27T16:09:49+01:00
title: "rclone version"
description: "Show the version number."
slug: rclone_version

View File

@@ -1,7 +1,6 @@
---
title: "Contact"
description: "Contact the rclone project"
date: "2014-04-26"
---
# Contact the rclone project #

View File

@@ -1,7 +1,6 @@
---
title: "Crypt"
description: "Encryption overlay remote"
date: "2016-07-28"
---
{{< icon "fa fa-lock" >}}Crypt
@@ -329,6 +328,8 @@ NB If filename_encryption is "off" then this option will do nothing.
Password or pass phrase for encryption.
**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).
- Config: password
- Env Var: RCLONE_CRYPT_PASSWORD
- Type: string
@@ -339,6 +340,8 @@ Password or pass phrase for encryption.
Password or pass phrase for salt. Optional but recommended.
Should be different to the previous password.
**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).
- Config: password2
- Env Var: RCLONE_CRYPT_PASSWORD2
- Type: string

View File

@@ -1,7 +1,6 @@
---
title: "Documentation"
description: "Rclone Usage"
date: "2019-02-25"
---
Configure

Some files were not shown because too many files have changed in this diff Show More