mirror of
https://github.com/rclone/rclone.git
synced 2025-12-06 00:03:32 +00:00
Compare commits
42 Commits
fix-http-s
...
v1.52.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8144a7e84 | ||
|
|
21f5b1076f | ||
|
|
a8cee91929 | ||
|
|
14edaefaa3 | ||
|
|
946b73c5fe | ||
|
|
07f7854a25 | ||
|
|
dfc7393e9c | ||
|
|
7f50143805 | ||
|
|
37308832b1 | ||
|
|
d5d124c9ee | ||
|
|
8b1f737271 | ||
|
|
ed013228ea | ||
|
|
a9b7974196 | ||
|
|
38453bd8ff | ||
|
|
51ba73afe4 | ||
|
|
b782a15f17 | ||
|
|
1d2edf0789 | ||
|
|
8367261a93 | ||
|
|
31dc78905e | ||
|
|
f9493ff1db | ||
|
|
a5cf531b94 | ||
|
|
04d59fe6bd | ||
|
|
cbc448039d | ||
|
|
7a8ade4949 | ||
|
|
8ab6e2bd1f | ||
|
|
d5c5811a54 | ||
|
|
43d21b7e64 | ||
|
|
0501b12e17 | ||
|
|
723c1dfdc5 | ||
|
|
d6894408b9 | ||
|
|
ac0e831090 | ||
|
|
b93ed77495 | ||
|
|
d0a3c40f9a | ||
|
|
6a9a571d87 | ||
|
|
6b68d1f79a | ||
|
|
088756ff8a | ||
|
|
4c1ffcc36d | ||
|
|
e5bd3f1c26 | ||
|
|
e03b4e2ce9 | ||
|
|
6054476c9c | ||
|
|
6cd8d3c4a0 | ||
|
|
78b0329928 |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -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 \
|
||||
|
||||
25
.github/workflows/build_publish_docker_image.yml
vendored
Normal file
25
.github/workflows/build_publish_docker_image.yml
vendored
Normal 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 }}
|
||||
33
.github/workflows/build_publish_release_docker_image.yml
vendored
Normal file
33
.github/workflows/build_publish_release_docker_image.yml
vendored
Normal 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 }}
|
||||
@@ -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 tzdata && \
|
||||
echo "user_allow_other" >> /etc/fuse.conf
|
||||
|
||||
COPY --from=builder /go/src/github.com/rclone/rclone/rclone /usr/local/bin/
|
||||
|
||||
|
||||
165
MANUAL.html
generated
165
MANUAL.html
generated
@@ -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 24, 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 & 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. Rclone’s 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. Rclone’s 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 "rclone/v1.52.0")
|
||||
--user-agent string Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.52.2")
|
||||
-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 "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.
|
||||
@@ -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 "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
|
||||
@@ -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 "*.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)
|
||||
@@ -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'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'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> 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 'c' 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 isn’t 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>
|
||||
@@ -11810,6 +11815,7 @@ trashed=false and 'c' in parents</code></pre>
|
||||
</ul>
|
||||
<h4 id="drive-impersonate">–drive-impersonate</h4>
|
||||
<p>Impersonate this user when using a service account.</p>
|
||||
<p>Note that if this is used then “root_folder_id” will be ignored.</p>
|
||||
<ul>
|
||||
<li>Config: impersonate</li>
|
||||
<li>Env Var: RCLONE_DRIVE_IMPERSONATE</li>
|
||||
@@ -12776,6 +12782,7 @@ y/e/d> 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 +12983,7 @@ y/e/d> 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 +13231,7 @@ y/e/d> 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 +14031,7 @@ y/e/d> 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 +15254,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 +15279,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 +15438,7 @@ y/e/d> 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 +15464,7 @@ y/e/d> 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 can’t 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 +16382,7 @@ y/e/d> 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 +17060,94 @@ $ tree /tmp/b
|
||||
<li>“error”: return an error based on option value</li>
|
||||
</ul>
|
||||
<h1 id="changelog">Changelog</h1>
|
||||
<h2 id="v1.52.2---2020-06-24">v1.52.2 - 2020-06-24</h2>
|
||||
<p><a href="https://github.com/rclone/rclone/compare/v1.52.1...v1.52.2">See commits</a></p>
|
||||
<ul>
|
||||
<li>Bug Fixes
|
||||
<ul>
|
||||
<li>build
|
||||
<ul>
|
||||
<li>Fix docker release build action (Nick Craig-Wood)</li>
|
||||
<li>Fix custom timezone in Docker image (NoLooseEnds)</li>
|
||||
</ul></li>
|
||||
<li>check: Fix misleading message which printed errors instead of differences (Nick Craig-Wood)</li>
|
||||
<li>errors: Add WSAECONNREFUSED and more to the list of retriable Windows errors (Nick Craig-Wood)</li>
|
||||
<li>rcd: Fix incorrect prometheus metrics (Gary Kim)</li>
|
||||
<li>serve restic: Fix flags so they use environment variables (Nick Craig-Wood)</li>
|
||||
<li>serve webdav: Fix flags so they use environment variables (Nick Craig-Wood)</li>
|
||||
<li>sync: Fix –track-renames-strategy modtime (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
<li>Drive
|
||||
<ul>
|
||||
<li>Fix not being able to delete a directory with a trashed shortcut (Nick Craig-Wood)</li>
|
||||
<li>Fix creating a directory inside a shortcut (Nick Craig-Wood)</li>
|
||||
<li>Fix –drive-impersonate with cached root_folder_id (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
<li>SFTP
|
||||
<ul>
|
||||
<li>Fix SSH key PEM loading (Zac Rubin)</li>
|
||||
</ul></li>
|
||||
<li>Swift
|
||||
<ul>
|
||||
<li>Speed up deletes by not retrying segment container deletes (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
<li>Tardigrade
|
||||
<ul>
|
||||
<li>Upgrade to uplink v1.1.1 (Caleb Case)</li>
|
||||
</ul></li>
|
||||
<li>WebDAV
|
||||
<ul>
|
||||
<li>Fix free/used display for rclone about/df for certain backends (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<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 > 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>
|
||||
|
||||
166
MANUAL.md
generated
166
MANUAL.md
generated
@@ -1,15 +1,15 @@
|
||||
% rclone(1) User Manual
|
||||
% Nick Craig-Wood
|
||||
% May 27, 2020
|
||||
% Jun 24, 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.2")
|
||||
-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.
|
||||
@@ -16812,6 +16833,9 @@ Size of listing chunk 100-1000. 0 to disable.
|
||||
|
||||
Impersonate this user when using a service account.
|
||||
|
||||
Note that if this is used then "root_folder_id" will be ignored.
|
||||
|
||||
|
||||
- Config: impersonate
|
||||
- Env Var: RCLONE_DRIVE_IMPERSONATE
|
||||
- Type: string
|
||||
@@ -18312,6 +18336,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 +18570,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 +18870,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 +19848,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 +21426,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 +21455,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 +21686,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 +21718,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 +22818,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 +23638,66 @@ Options:
|
||||
|
||||
# Changelog
|
||||
|
||||
## v1.52.2 - 2020-06-24
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.52.1...v1.52.2)
|
||||
|
||||
* Bug Fixes
|
||||
* build
|
||||
* Fix docker release build action (Nick Craig-Wood)
|
||||
* Fix custom timezone in Docker image (NoLooseEnds)
|
||||
* check: Fix misleading message which printed errors instead of differences (Nick Craig-Wood)
|
||||
* errors: Add WSAECONNREFUSED and more to the list of retriable Windows errors (Nick Craig-Wood)
|
||||
* rcd: Fix incorrect prometheus metrics (Gary Kim)
|
||||
* serve restic: Fix flags so they use environment variables (Nick Craig-Wood)
|
||||
* serve webdav: Fix flags so they use environment variables (Nick Craig-Wood)
|
||||
* sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
|
||||
* Drive
|
||||
* Fix not being able to delete a directory with a trashed shortcut (Nick Craig-Wood)
|
||||
* Fix creating a directory inside a shortcut (Nick Craig-Wood)
|
||||
* Fix --drive-impersonate with cached root_folder_id (Nick Craig-Wood)
|
||||
* SFTP
|
||||
* Fix SSH key PEM loading (Zac Rubin)
|
||||
* Swift
|
||||
* Speed up deletes by not retrying segment container deletes (Nick Craig-Wood)
|
||||
* Tardigrade
|
||||
* Upgrade to uplink v1.1.1 (Caleb Case)
|
||||
* WebDAV
|
||||
* Fix free/used display for rclone about/df for certain backends (Nick Craig-Wood)
|
||||
|
||||
## 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
|
||||
|
||||
194
MANUAL.txt
generated
194
MANUAL.txt
generated
@@ -1,6 +1,6 @@
|
||||
rclone(1) User Manual
|
||||
Nick Craig-Wood
|
||||
May 27, 2020
|
||||
Jun 24, 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. Rclone’s 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.2")
|
||||
-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 isn’t 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.
|
||||
@@ -16826,6 +16845,8 @@ Size of listing chunk 100-1000. 0 to disable.
|
||||
|
||||
Impersonate this user when using a service account.
|
||||
|
||||
Note that if this is used then “root_folder_id” will be ignored.
|
||||
|
||||
- Config: impersonate
|
||||
- Env Var: RCLONE_DRIVE_IMPERSONATE
|
||||
- Type: string
|
||||
@@ -18315,6 +18336,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 +18573,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 +18873,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 +19861,8 @@ Username
|
||||
|
||||
Password.
|
||||
|
||||
NB Input to this must be obscured - see rclone obscure.
|
||||
|
||||
- Config: password
|
||||
- Env Var: RCLONE_OPENDRIVE_PASSWORD
|
||||
- Type: string
|
||||
@@ -21379,6 +21408,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 +21438,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 +21667,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 +21701,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.
|
||||
|
||||
- Config: key_file_pass
|
||||
- Env Var: RCLONE_SFTP_KEY_FILE_PASS
|
||||
- Type: string
|
||||
@@ -22826,6 +22863,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 +23636,89 @@ Options:
|
||||
CHANGELOG
|
||||
|
||||
|
||||
v1.52.2 - 2020-06-24
|
||||
|
||||
See commits
|
||||
|
||||
- Bug Fixes
|
||||
- build
|
||||
- Fix docker release build action (Nick Craig-Wood)
|
||||
- Fix custom timezone in Docker image (NoLooseEnds)
|
||||
- check: Fix misleading message which printed errors instead of
|
||||
differences (Nick Craig-Wood)
|
||||
- errors: Add WSAECONNREFUSED and more to the list of retriable
|
||||
Windows errors (Nick Craig-Wood)
|
||||
- rcd: Fix incorrect prometheus metrics (Gary Kim)
|
||||
- serve restic: Fix flags so they use environment variables (Nick
|
||||
Craig-Wood)
|
||||
- serve webdav: Fix flags so they use environment variables (Nick
|
||||
Craig-Wood)
|
||||
- sync: Fix –track-renames-strategy modtime (Nick Craig-Wood)
|
||||
- Drive
|
||||
- Fix not being able to delete a directory with a trashed shortcut
|
||||
(Nick Craig-Wood)
|
||||
- Fix creating a directory inside a shortcut (Nick Craig-Wood)
|
||||
- Fix –drive-impersonate with cached root_folder_id (Nick
|
||||
Craig-Wood)
|
||||
- SFTP
|
||||
- Fix SSH key PEM loading (Zac Rubin)
|
||||
- Swift
|
||||
- Speed up deletes by not retrying segment container deletes (Nick
|
||||
Craig-Wood)
|
||||
- Tardigrade
|
||||
- Upgrade to uplink v1.1.1 (Caleb Case)
|
||||
- WebDAV
|
||||
- Fix free/used display for rclone about/df for certain backends
|
||||
(Nick Craig-Wood)
|
||||
|
||||
|
||||
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
|
||||
|
||||
3
backend/cache/cache_internal_test.go
vendored
3
backend/cache/cache_internal_test.go
vendored
@@ -33,6 +33,7 @@ import (
|
||||
"github.com/rclone/rclone/fs/object"
|
||||
"github.com/rclone/rclone/fs/rc"
|
||||
"github.com/rclone/rclone/fstest"
|
||||
"github.com/rclone/rclone/fstest/testy"
|
||||
"github.com/rclone/rclone/lib/random"
|
||||
"github.com/rclone/rclone/vfs"
|
||||
"github.com/rclone/rclone/vfs/vfsflags"
|
||||
@@ -299,6 +300,7 @@ func TestInternalRemoteWrittenFileFoundInMount(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestInternalCachedWrittenContentMatches(t *testing.T) {
|
||||
testy.SkipUnreliable(t)
|
||||
id := fmt.Sprintf("ticwcm%v", time.Now().Unix())
|
||||
rootFs, boltDb := runInstance.newCacheFs(t, remoteName, id, false, true, nil, nil)
|
||||
defer runInstance.cleanupFs(t, rootFs, boltDb)
|
||||
@@ -342,6 +344,7 @@ func TestInternalDoubleWrittenContentMatches(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestInternalCachedUpdatedContentMatches(t *testing.T) {
|
||||
testy.SkipUnreliable(t)
|
||||
id := fmt.Sprintf("ticucm%v", time.Now().Unix())
|
||||
rootFs, boltDb := runInstance.newCacheFs(t, remoteName, id, false, true, nil, nil)
|
||||
defer runInstance.cleanupFs(t, rootFs, boltDb)
|
||||
|
||||
@@ -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
|
||||
@@ -346,9 +349,12 @@ date is used.`,
|
||||
Help: "Size of listing chunk 100-1000. 0 to disable.",
|
||||
Advanced: true,
|
||||
}, {
|
||||
Name: "impersonate",
|
||||
Default: "",
|
||||
Help: "Impersonate this user when using a service account.",
|
||||
Name: "impersonate",
|
||||
Default: "",
|
||||
Help: `Impersonate this user when using a service account.
|
||||
|
||||
Note that if this is used then "root_folder_id" will be ignored.
|
||||
`,
|
||||
Advanced: true,
|
||||
}, {
|
||||
Name: "alternate_export",
|
||||
@@ -558,6 +564,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 +1088,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()
|
||||
@@ -1109,9 +1121,20 @@ func NewFs(name, path string, m configmap.Mapper) (fs.Fs, error) {
|
||||
}
|
||||
}
|
||||
|
||||
// If impersonating warn about root_folder_id if set and unset it
|
||||
//
|
||||
// This is because rclone v1.51 and v1.52 cached root_folder_id when
|
||||
// using impersonate which they shouldn't have done. It is possible
|
||||
// someone is using impersonate and root_folder_id in which case this
|
||||
// breaks their workflow. There isn't an easy way around that.
|
||||
if opt.RootFolderID != "" && opt.Impersonate != "" {
|
||||
fs.Logf(f, "Ignoring cached root_folder_id when using --drive-impersonate")
|
||||
opt.RootFolderID = ""
|
||||
}
|
||||
|
||||
// set root folder for a team drive or query the user root folder
|
||||
if opt.RootFolderID != "" {
|
||||
// override root folder if set or cached in the config
|
||||
// override root folder if set or cached in the config and not impersonating
|
||||
f.rootFolderID = opt.RootFolderID
|
||||
} else if f.isTeamDrive {
|
||||
f.rootFolderID = f.opt.TeamDriveID
|
||||
@@ -1128,7 +1151,10 @@ func NewFs(name, path string, m configmap.Mapper) (fs.Fs, error) {
|
||||
}
|
||||
}
|
||||
f.rootFolderID = rootID
|
||||
m.Set("root_folder_id", rootID)
|
||||
// Don't cache the root folder ID if impersonating
|
||||
if opt.Impersonate == "" {
|
||||
m.Set("root_folder_id", rootID)
|
||||
}
|
||||
}
|
||||
|
||||
f.dirCache = dircache.New(root, f.rootFolderID, f)
|
||||
@@ -1402,6 +1428,7 @@ func (f *Fs) CreateDir(ctx context.Context, pathID, leaf string) (newID string,
|
||||
leaf = f.opt.Enc.FromStandardName(leaf)
|
||||
// fmt.Println("Making", path)
|
||||
// Define the metadata for the directory we are going to create.
|
||||
pathID = actualID(pathID)
|
||||
createInfo := &drive.File{
|
||||
Name: leaf,
|
||||
Description: leaf,
|
||||
@@ -1634,15 +1661,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 +1684,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 +1692,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 +1733,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 +1814,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 +1826,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 +1839,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 +1855,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 +1865,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] {
|
||||
@@ -1914,9 +1990,10 @@ func (f *Fs) resolveShortcut(item *drive.File) (newItem *drive.File, err error)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to resolve shortcut")
|
||||
}
|
||||
// make sure we use the Name and Parents from the original item
|
||||
// make sure we use the Name, Parents and Trashed from the original item
|
||||
newItem.Name = item.Name
|
||||
newItem.Parents = item.Parents
|
||||
newItem.Trashed = item.Trashed
|
||||
// the new ID is a composite ID
|
||||
newItem.Id = joinID(newItem.Id, item.Id)
|
||||
return newItem, nil
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -395,8 +395,8 @@ func NewFs(name, root string, m configmap.Mapper) (fs.Fs, error) {
|
||||
|
||||
keyFile := env.ShellExpand(opt.KeyFile)
|
||||
//keyPem := env.ShellExpand(opt.KeyPem)
|
||||
// Add ssh agent-auth if no password or file specified
|
||||
if (opt.Pass == "" && keyFile == "" && !opt.AskPassword) || opt.KeyUseAgent {
|
||||
// Add ssh agent-auth if no password or file or key PEM specified
|
||||
if (opt.Pass == "" && keyFile == "" && !opt.AskPassword && opt.KeyPem == "") || opt.KeyUseAgent {
|
||||
sshAgentClient, _, err := sshagent.New()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "couldn't connect to ssh-agent")
|
||||
|
||||
@@ -1124,6 +1124,9 @@ func (o *Object) removeSegments(except string) error {
|
||||
// remove the segments container if empty, ignore errors
|
||||
err = o.fs.pacer.Call(func() (bool, error) {
|
||||
err = o.fs.c.ContainerDelete(segmentsContainer)
|
||||
if err == swift.ContainerNotFound || err == swift.ContainerNotEmpty {
|
||||
return false, err
|
||||
}
|
||||
return shouldRetry(err)
|
||||
})
|
||||
if err == nil {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -226,6 +226,6 @@ func (t *Time) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
|
||||
// </d:response>
|
||||
// </d:multistatus>
|
||||
type Quota struct {
|
||||
Available int64 `xml:"DAV: response>propstat>prop>quota-available-bytes"`
|
||||
Used int64 `xml:"DAV: response>propstat>prop>quota-used-bytes"`
|
||||
Available string `xml:"DAV: response>propstat>prop>quota-available-bytes"`
|
||||
Used string `xml:"DAV: response>propstat>prop>quota-used-bytes"`
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import (
|
||||
"net/url"
|
||||
"os/exec"
|
||||
"path"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -975,10 +976,7 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||
</D:prop>
|
||||
</D:propfind>
|
||||
`))
|
||||
var q = api.Quota{
|
||||
Available: -1,
|
||||
Used: -1,
|
||||
}
|
||||
var q api.Quota
|
||||
var resp *http.Response
|
||||
var err error
|
||||
err = f.pacer.Call(func() (bool, error) {
|
||||
@@ -989,14 +987,14 @@ func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||
return nil, errors.Wrap(err, "about call failed")
|
||||
}
|
||||
usage := &fs.Usage{}
|
||||
if q.Used >= 0 {
|
||||
usage.Used = fs.NewUsageValue(q.Used)
|
||||
if i, err := strconv.ParseInt(q.Used, 10, 64); err == nil && i >= 0 {
|
||||
usage.Used = fs.NewUsageValue(i)
|
||||
}
|
||||
if q.Available >= 0 {
|
||||
usage.Free = fs.NewUsageValue(q.Available)
|
||||
if i, err := strconv.ParseInt(q.Available, 10, 64); err == nil && i >= 0 {
|
||||
usage.Free = fs.NewUsageValue(i)
|
||||
}
|
||||
if q.Available >= 0 && q.Used >= 0 {
|
||||
usage.Total = fs.NewUsageValue(q.Available + q.Used)
|
||||
if usage.Used != nil && usage.Free != nil {
|
||||
usage.Total = fs.NewUsageValue(*usage.Used + *usage.Free)
|
||||
}
|
||||
return usage, nil
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -11,9 +11,11 @@ package cmount
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/rclone/rclone/fstest/testy"
|
||||
"github.com/rclone/rclone/vfs/vfstest"
|
||||
)
|
||||
|
||||
func TestMount(t *testing.T) {
|
||||
testy.SkipUnreliable(t)
|
||||
vfstest.RunTests(t, false, mount)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -5,9 +5,11 @@ package mount2
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/rclone/rclone/fstest/testy"
|
||||
"github.com/rclone/rclone/vfs/vfstest"
|
||||
)
|
||||
|
||||
func TestMount(t *testing.T) {
|
||||
testy.SkipUnreliable(t)
|
||||
vfstest.RunTests(t, false, mount)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -17,6 +17,7 @@ import (
|
||||
"github.com/rclone/rclone/cmd/serve/httplib/serve"
|
||||
"github.com/rclone/rclone/fs"
|
||||
"github.com/rclone/rclone/fs/accounting"
|
||||
"github.com/rclone/rclone/fs/config/flags"
|
||||
"github.com/rclone/rclone/fs/fserrors"
|
||||
"github.com/rclone/rclone/fs/operations"
|
||||
"github.com/rclone/rclone/fs/walk"
|
||||
@@ -33,9 +34,10 @@ var (
|
||||
|
||||
func init() {
|
||||
httpflags.AddFlags(Command.Flags())
|
||||
Command.Flags().BoolVar(&stdio, "stdio", false, "run an HTTP2 server on stdin/stdout")
|
||||
Command.Flags().BoolVar(&appendOnly, "append-only", false, "disallow deletion of repository data")
|
||||
Command.Flags().BoolVar(&privateRepos, "private-repos", false, "users can only access their private repo")
|
||||
flagSet := Command.Flags()
|
||||
flags.BoolVarP(flagSet, &stdio, "stdio", "", false, "run an HTTP2 server on stdin/stdout")
|
||||
flags.BoolVarP(flagSet, &appendOnly, "append-only", "", false, "disallow deletion of repository data")
|
||||
flags.BoolVarP(flagSet, &privateRepos, "private-repos", "", false, "users can only access their private repo")
|
||||
}
|
||||
|
||||
// Command definition for cobra
|
||||
|
||||
@@ -15,6 +15,7 @@ import (
|
||||
"github.com/rclone/rclone/cmd/serve/proxy"
|
||||
"github.com/rclone/rclone/cmd/serve/proxy/proxyflags"
|
||||
"github.com/rclone/rclone/fs"
|
||||
"github.com/rclone/rclone/fs/config/flags"
|
||||
"github.com/rclone/rclone/fs/hash"
|
||||
"github.com/rclone/rclone/lib/errors"
|
||||
"github.com/rclone/rclone/vfs"
|
||||
@@ -30,11 +31,12 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
httpflags.AddFlags(Command.Flags())
|
||||
vfsflags.AddFlags(Command.Flags())
|
||||
proxyflags.AddFlags(Command.Flags())
|
||||
Command.Flags().StringVar(&hashName, "etag-hash", "", "Which hash to use for the ETag, or auto or blank for off")
|
||||
Command.Flags().BoolVar(&disableGETDir, "disable-dir-list", false, "Disable HTML directory list on GET request for a directory")
|
||||
flagSet := Command.Flags()
|
||||
httpflags.AddFlags(flagSet)
|
||||
vfsflags.AddFlags(flagSet)
|
||||
proxyflags.AddFlags(flagSet)
|
||||
flags.StringVarP(flagSet, &hashName, "etag-hash", "", "", "Which hash to use for the ETag, or auto or blank for off")
|
||||
flags.BoolVarP(flagSet, &disableGETDir, "disable-dir-list", "", false, "Disable HTML directory list on GET request for a directory")
|
||||
}
|
||||
|
||||
// Command definition for cobra
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"~$",
|
||||
"^\\."
|
||||
],
|
||||
"enableGitInfo": true,
|
||||
"markup": {
|
||||
"goldmark": {
|
||||
"extensions": {
|
||||
|
||||
@@ -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 >}}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Alias"
|
||||
description: "Remote Aliases"
|
||||
date: "2018-01-30"
|
||||
---
|
||||
|
||||
{{< icon "fa fa-link" >}} Alias
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Amazon Drive"
|
||||
description: "Rclone docs for Amazon Drive"
|
||||
date: "2017-06-10"
|
||||
---
|
||||
|
||||
{{< icon "fab fa-amazon" >}} Amazon Drive
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Authors"
|
||||
description: "Rclone Authors and Contributors"
|
||||
date: "2016-11-02"
|
||||
---
|
||||
|
||||
Authors
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "B2"
|
||||
description: "Backblaze B2"
|
||||
date: "2016-10-25"
|
||||
---
|
||||
|
||||
{{< icon "fa fa-fire" >}} Backblaze B2
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Box"
|
||||
description: "Rclone docs for Box"
|
||||
date: "2015-10-14"
|
||||
---
|
||||
|
||||
{{< icon "fa fa-archive" >}} Box
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Bugs"
|
||||
description: "Rclone Bugs and Limitations"
|
||||
date: "2019-08-04"
|
||||
---
|
||||
|
||||
# Bugs and Limitations
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,11 +1,70 @@
|
||||
---
|
||||
title: "Documentation"
|
||||
description: "Rclone Changelog"
|
||||
date: "2020-05-27"
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
## v1.52.2 - 2020-06-24
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.52.1...v1.52.2)
|
||||
|
||||
* Bug Fixes
|
||||
* build
|
||||
* Fix docker release build action (Nick Craig-Wood)
|
||||
* Fix custom timezone in Docker image (NoLooseEnds)
|
||||
* check: Fix misleading message which printed errors instead of differences (Nick Craig-Wood)
|
||||
* errors: Add WSAECONNREFUSED and more to the list of retriable Windows errors (Nick Craig-Wood)
|
||||
* rcd: Fix incorrect prometheus metrics (Gary Kim)
|
||||
* serve restic: Fix flags so they use environment variables (Nick Craig-Wood)
|
||||
* serve webdav: Fix flags so they use environment variables (Nick Craig-Wood)
|
||||
* sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
|
||||
* Drive
|
||||
* Fix not being able to delete a directory with a trashed shortcut (Nick Craig-Wood)
|
||||
* Fix creating a directory inside a shortcut (Nick Craig-Wood)
|
||||
* Fix --drive-impersonate with cached root_folder_id (Nick Craig-Wood)
|
||||
* SFTP
|
||||
* Fix SSH key PEM loading (Zac Rubin)
|
||||
* Swift
|
||||
* Speed up deletes by not retrying segment container deletes (Nick Craig-Wood)
|
||||
* Tardigrade
|
||||
* Upgrade to uplink v1.1.1 (Caleb Case)
|
||||
* WebDAV
|
||||
* Fix free/used display for rclone about/df for certain backends (Nick Craig-Wood)
|
||||
|
||||
## 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
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: "Chunker"
|
||||
description: "Split-chunking overlay remote"
|
||||
date: "2019-08-30"
|
||||
---
|
||||
|
||||
{{< icon "fa fa-cut" >}}Chunker (BETA)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone authorize"
|
||||
description: "Remote authorization."
|
||||
slug: rclone_authorize
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone backend"
|
||||
description: "Run a backend specific command."
|
||||
slug: rclone_backend
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone config"
|
||||
description: "Enter an interactive configuration session."
|
||||
slug: rclone_config
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone copyurl"
|
||||
description: "Copy url content to dest."
|
||||
slug: rclone_copyurl
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone cryptdecode"
|
||||
description: "Cryptdecode returns unencrypted file names."
|
||||
slug: rclone_cryptdecode
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone delete"
|
||||
description: "Remove the contents of path."
|
||||
slug: rclone_delete
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
date: 2020-05-27T16:09:49+01:00
|
||||
title: "rclone rmdir"
|
||||
description: "Remove the path if empty."
|
||||
slug: rclone_rmdir
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user