mirror of
https://github.com/rclone/rclone.git
synced 2026-02-02 17:54:14 +00:00
Compare commits
21 Commits
v1.71.1
...
v1.71-stab
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a2b292b31d | ||
|
|
4013f006b8 | ||
|
|
371fc61191 | ||
|
|
0d9a95125c | ||
|
|
386d3c5b4d | ||
|
|
3dceb72e9b | ||
|
|
30b016d8c0 | ||
|
|
b8e6d45482 | ||
|
|
dfdc69a3e1 | ||
|
|
0908c346bb | ||
|
|
f186b7554e | ||
|
|
4bbab927fa | ||
|
|
1c119f9330 | ||
|
|
089c4b1a69 | ||
|
|
b5ba737e14 | ||
|
|
15f727f0e3 | ||
|
|
01e1f90216 | ||
|
|
997c73b586 | ||
|
|
ccd01f1a68 | ||
|
|
63c0dc773c | ||
|
|
f1e6bffc14 |
@@ -628,7 +628,7 @@ You'll need to modify the following files
|
||||
- `backend/s3/s3.go`
|
||||
- Add the provider to `providerOption` at the top of the file
|
||||
- Add endpoints and other config for your provider gated on the provider in `fs.RegInfo`.
|
||||
- Exclude your provider from generic config questions (eg `region` and `endpoint).
|
||||
- Exclude your provider from generic config questions (eg `region` and `endpoint`).
|
||||
- Add the provider to the `setQuirks` function - see the documentation there.
|
||||
- `docs/content/s3.md`
|
||||
- Add the provider at the top of the page.
|
||||
|
||||
226
MANUAL.html
generated
226
MANUAL.html
generated
@@ -233,7 +233,7 @@
|
||||
<header id="title-block-header">
|
||||
<h1 class="title">rclone(1) User Manual</h1>
|
||||
<p class="author">Nick Craig-Wood</p>
|
||||
<p class="date">Sep 24, 2025</p>
|
||||
<p class="date">Oct 20, 2025</p>
|
||||
</header>
|
||||
<h1 id="name">NAME</h1>
|
||||
<p>rclone - manage files on cloud storage</p>
|
||||
@@ -444,6 +444,7 @@ S3, that work out of the box.)</p>
|
||||
<li>Hetzner Storage Box</li>
|
||||
<li>HiDrive</li>
|
||||
<li>HTTP</li>
|
||||
<li>Huawei OBS</li>
|
||||
<li>iCloud Drive</li>
|
||||
<li>ImageKit</li>
|
||||
<li>Internet Archive</li>
|
||||
@@ -486,7 +487,9 @@ S3, that work out of the box.)</p>
|
||||
<li>QingStor</li>
|
||||
<li>Qiniu Cloud Object Storage (Kodo)</li>
|
||||
<li>Quatrix by Maytech</li>
|
||||
<li>RackCorp Object Storage</li>
|
||||
<li>Rackspace Cloud Files</li>
|
||||
<li>Rclone Serve S3</li>
|
||||
<li>rsync.net</li>
|
||||
<li>Scaleway</li>
|
||||
<li>Seafile</li>
|
||||
@@ -2911,10 +2914,11 @@ for rclone commands, flags and backends.</li>
|
||||
<p>Remote authorization.</p>
|
||||
<h2 id="synopsis-19">Synopsis</h2>
|
||||
<p>Remote authorization. Used to authorize a remote or headless rclone
|
||||
from a machine with a browser - use as instructed by rclone config.</p>
|
||||
from a machine with a browser. Use as instructed by rclone config. See
|
||||
also the <a href="/remote_setup">remote setup documentation</a>.</p>
|
||||
<p>The command requires 1-3 arguments:</p>
|
||||
<ul>
|
||||
<li>fs name (e.g., "drive", "s3", etc.)</li>
|
||||
<li>Name of a backend (e.g. "drive", "s3")</li>
|
||||
<li>Either a base64 encoded JSON blob obtained from a previous rclone
|
||||
config session</li>
|
||||
<li>Or a client_id and client_secret pair obtained from the remote
|
||||
@@ -2925,7 +2929,7 @@ default browser automatically.</p>
|
||||
<p>Use --template to generate HTML output via a custom Go template. If a
|
||||
blank string is provided as an argument to this flag, the default
|
||||
template is used.</p>
|
||||
<pre><code>rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]</code></pre>
|
||||
<pre><code>rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]</code></pre>
|
||||
<h2 id="options-19">Options</h2>
|
||||
<pre><code> --auth-no-open-browser Do not automatically open auth link in default browser
|
||||
-h, --help help for authorize
|
||||
@@ -4301,10 +4305,10 @@ class="sourceCode sh"><code class="sourceCode bash"><span id="cb243-1"><a href="
|
||||
<span id="cb243-2"><a href="#cb243-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: stories/The Quick Brown Fox!.txt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb244"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb244-1"><a href="#cb244-1" aria-hidden="true" tabindex="-1"></a><span class="ex">rclone</span> convmv <span class="st">"stories/The Quick Brown Fox!"</span> <span class="at">--name-transform</span> <span class="st">"date=-{YYYYMMDD}"</span></span>
|
||||
<span id="cb244-2"><a href="#cb244-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: stories/The Quick Brown Fox!-20250924</span></code></pre></div>
|
||||
<span id="cb244-2"><a href="#cb244-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: stories/The Quick Brown Fox!-20251020</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb245"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb245-1"><a href="#cb245-1" aria-hidden="true" tabindex="-1"></a><span class="ex">rclone</span> convmv <span class="st">"stories/The Quick Brown Fox!"</span> <span class="at">--name-transform</span> <span class="st">"date=-{macfriendlytime}"</span></span>
|
||||
<span id="cb245-2"><a href="#cb245-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: stories/The Quick Brown Fox!-2025-09-24 0413PM</span></code></pre></div>
|
||||
<span id="cb245-2"><a href="#cb245-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: stories/The Quick Brown Fox!-2025-10-20 1251PM</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb246"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb246-1"><a href="#cb246-1" aria-hidden="true" tabindex="-1"></a><span class="ex">rclone</span> convmv <span class="st">"stories/The Quick Brown Fox!.txt"</span> <span class="at">--name-transform</span> <span class="st">"all,regex=[</span><span class="dt">\\</span><span class="st">.</span><span class="dt">\\</span><span class="st">w]/ab"</span></span>
|
||||
<span id="cb246-2"><a href="#cb246-2" aria-hidden="true" tabindex="-1"></a><span class="ex">//</span> Output: ababababababab/ababab ababababab ababababab ababab!abababab</span></code></pre></div>
|
||||
@@ -7999,7 +8003,7 @@ set a single username and password with the <code>--rc-user</code> and
|
||||
<p>Alternatively, you can have the reverse proxy manage authentication
|
||||
and use the username provided in the configured header with
|
||||
<code>--user-from-header</code> (e.g.,
|
||||
<code>--rc---user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
<code>--rc-user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
trusted and headers cannot be spoofed, as misconfiguration may lead to
|
||||
unauthorized access.</p>
|
||||
<p>If either of the above authentication methods is not configured and
|
||||
@@ -10014,7 +10018,7 @@ set a single username and password with the <code>--user</code> and
|
||||
<p>Alternatively, you can have the reverse proxy manage authentication
|
||||
and use the username provided in the configured header with
|
||||
<code>--user-from-header</code> (e.g.,
|
||||
<code>----user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
<code>--user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
trusted and headers cannot be spoofed, as misconfiguration may lead to
|
||||
unauthorized access.</p>
|
||||
<p>If either of the above authentication methods is not configured and
|
||||
@@ -11259,7 +11263,7 @@ set a single username and password with the <code>--user</code> and
|
||||
<p>Alternatively, you can have the reverse proxy manage authentication
|
||||
and use the username provided in the configured header with
|
||||
<code>--user-from-header</code> (e.g.,
|
||||
<code>----user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
<code>--user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
trusted and headers cannot be spoofed, as misconfiguration may lead to
|
||||
unauthorized access.</p>
|
||||
<p>If either of the above authentication methods is not configured and
|
||||
@@ -11439,7 +11443,7 @@ set a single username and password with the <code>--user</code> and
|
||||
<p>Alternatively, you can have the reverse proxy manage authentication
|
||||
and use the username provided in the configured header with
|
||||
<code>--user-from-header</code> (e.g.,
|
||||
<code>----user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
<code>--user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
trusted and headers cannot be spoofed, as misconfiguration may lead to
|
||||
unauthorized access.</p>
|
||||
<p>If either of the above authentication methods is not configured and
|
||||
@@ -12856,7 +12860,7 @@ set a single username and password with the <code>--user</code> and
|
||||
<p>Alternatively, you can have the reverse proxy manage authentication
|
||||
and use the username provided in the configured header with
|
||||
<code>--user-from-header</code> (e.g.,
|
||||
<code>----user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
<code>--user-from-header=x-remote-user</code>). Ensure the proxy is
|
||||
trusted and headers cannot be spoofed, as misconfiguration may lead to
|
||||
unauthorized access.</p>
|
||||
<p>If either of the above authentication methods is not configured and
|
||||
@@ -16752,18 +16756,20 @@ directory holding the config file.</li>
|
||||
<h1 id="configuring-rclone-on-a-remote-headless-machine">Configuring
|
||||
rclone on a remote / headless machine</h1>
|
||||
<p>Some of the configurations (those involving oauth2) require an
|
||||
Internet connected web browser.</p>
|
||||
<p>If you are trying to set rclone up on a remote or headless box with
|
||||
no browser available on it (e.g. a NAS or a server in a datacenter) then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
two ways of doing it, described below.</p>
|
||||
internet-connected web browser.</p>
|
||||
<p>If you are trying to set rclone up on a remote or headless machine
|
||||
with no browser available on it (e.g. a NAS or a server in a
|
||||
datacenter), then you will need to use an alternative means of
|
||||
configuration. There are three ways of doing it, described below.</p>
|
||||
<h2 id="configuring-using-rclone-authorize">Configuring using rclone
|
||||
authorize</h2>
|
||||
<p>On the headless box run <code>rclone</code> config but answer
|
||||
<code>N</code> to the <code>Use auto config?</code> question.</p>
|
||||
<pre class="text"><code>Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
<p>On the headless machine run <a href="/commands/rclone_config">rclone
|
||||
config</a>, but answer <code>N</code> to the question
|
||||
<code>Use web browser to automatically authenticate rclone with remote?</code>.</p>
|
||||
<pre class="text"><code>Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
@@ -16775,25 +16781,29 @@ a web browser available.
|
||||
For more help and alternate methods see: https://rclone.org/remote_setup/
|
||||
Execute the following on the machine with the web browser (same rclone
|
||||
version recommended):
|
||||
rclone authorize "onedrive"
|
||||
rclone authorize "onedrive"
|
||||
Then paste the result.
|
||||
Enter a value.
|
||||
config_token></code></pre>
|
||||
<p>Then on your main desktop machine</p>
|
||||
<p>Then on your main desktop machine, run <a
|
||||
href="https://rclone.org/commands/rclone_authorize/">rclone
|
||||
authorize</a>.</p>
|
||||
<pre class="text"><code>rclone authorize "onedrive"
|
||||
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
|
||||
Log in and authorize rclone for access
|
||||
Waiting for code...
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Got code
|
||||
Paste the following into your remote machine --->
|
||||
SECRET_TOKEN
|
||||
<---End paste</code></pre>
|
||||
<p>Then back to the headless box, paste in the code</p>
|
||||
<p>Then back to the headless machine, paste in the code.</p>
|
||||
<pre class="text"><code>config_token> SECRET_TOKEN
|
||||
--------------------
|
||||
[acd12]
|
||||
client_id =
|
||||
client_secret =
|
||||
client_id =
|
||||
client_secret =
|
||||
token = SECRET_TOKEN
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
@@ -16802,38 +16812,50 @@ d) Delete this remote
|
||||
y/e/d></code></pre>
|
||||
<h2 id="configuring-by-copying-the-config-file">Configuring by copying
|
||||
the config file</h2>
|
||||
<p>Rclone stores all of its config in a single configuration file. This
|
||||
can easily be copied to configure a remote rclone.</p>
|
||||
<p>So first configure rclone on your desktop machine with</p>
|
||||
<p>Rclone stores all of its configuration in a single file. This can
|
||||
easily be copied to configure a remote rclone (although some backends
|
||||
does not support reusing the same configuration, consult your backend
|
||||
documentation to be sure).</p>
|
||||
<p>Start by running <a href="/commands/rclone_config">rclone config</a>
|
||||
to create the configuration file on your desktop machine.</p>
|
||||
<div class="sourceCode" id="cb688"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb688-1"><a href="#cb688-1" aria-hidden="true" tabindex="-1"></a><span class="ex">rclone</span> config</span></code></pre></div>
|
||||
<p>to set up the config file.</p>
|
||||
<p>Find the config file by running <code>rclone config file</code>, for
|
||||
example</p>
|
||||
<p>Then locate the file by running <a
|
||||
href="/commands/rclone_config_file">rclone config file</a>.</p>
|
||||
<div class="sourceCode" id="cb689"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb689-1"><a href="#cb689-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> rclone config file</span>
|
||||
<span id="cb689-2"><a href="#cb689-2" aria-hidden="true" tabindex="-1"></a><span class="ex">Configuration</span> file is stored at:</span>
|
||||
<span id="cb689-3"><a href="#cb689-3" aria-hidden="true" tabindex="-1"></a><span class="ex">/home/user/.rclone.conf</span></span></code></pre></div>
|
||||
<p>Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.)
|
||||
and place it in the correct place (use <code>rclone config file</code>
|
||||
on the remote box to find out where).</p>
|
||||
<p>Finally, transfer the file to the remote machine (scp, cut paste,
|
||||
ftp, sftp, etc.) and place it in the correct location (use <a
|
||||
href="/commands/rclone_config_file">rclone config file</a> on the remote
|
||||
machine to find out where).</p>
|
||||
<h2 id="configuring-using-ssh-tunnel">Configuring using SSH Tunnel</h2>
|
||||
<p>Linux and MacOS users can utilize SSH Tunnel to redirect the headless
|
||||
box port 53682 to local machine by using the following command:</p>
|
||||
<p>If you have an SSH client installed on your local machine, you can
|
||||
set up an SSH tunnel to redirect the port 53682 into the headless
|
||||
machine by using the following command:</p>
|
||||
<div class="sourceCode" id="cb690"><pre
|
||||
class="sourceCode sh"><code class="sourceCode bash"><span id="cb690-1"><a href="#cb690-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-L</span> localhost:53682:localhost:53682 username@remote_server</span></code></pre></div>
|
||||
<p>Then on the headless box run <code>rclone config</code> and answer
|
||||
<code>Y</code> to the <code>Use auto config?</code> question.</p>
|
||||
<pre class="text"><code>Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
<p>Then on the headless machine run <a
|
||||
href="/commands/rclone_config">rclone config</a> and answer
|
||||
<code>Y</code> to the question
|
||||
<code>Use web browser to automatically authenticate rclone with remote?</code>.</p>
|
||||
<pre class="text"><code>Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
y/n> y</code></pre>
|
||||
<p>Then copy and paste the auth url
|
||||
<code>http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx</code> to the
|
||||
browser on your local machine, complete the auth and it is done.</p>
|
||||
y/n> y
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...</code></pre>
|
||||
<p>Finally, copy and paste the presented URL
|
||||
<code>http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx</code> to
|
||||
the browser on your local machine, complete the auth and you are
|
||||
done.</p>
|
||||
<h1 id="filtering-includes-and-excludes">Filtering, includes and
|
||||
excludes</h1>
|
||||
<p>Filter flags determine which files rclone <code>sync</code>,
|
||||
@@ -22311,7 +22333,7 @@ split into groups.</p>
|
||||
--tpslimit float Limit HTTP transactions per second to this
|
||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||
--use-cookies Enable session cookiejar
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.1")</code></pre>
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.2")</code></pre>
|
||||
<h2 id="performance">Performance</h2>
|
||||
<p>Flags helpful for increasing performance.</p>
|
||||
<pre><code> --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi)
|
||||
@@ -33426,8 +33448,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Box. This only runs from the moment it opens
|
||||
your browser to the moment you get back the verification code. This is
|
||||
@@ -35232,8 +35254,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Citrix ShareFile. This only runs from the
|
||||
moment it opens your browser to the moment you get back the verification
|
||||
@@ -36733,8 +36755,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Dropbox. This only runs from the moment it
|
||||
opens your browser to the moment you get back the verification code.
|
||||
@@ -38736,7 +38758,9 @@ Choose a number from below, or type in your own value
|
||||
\ "us-east1"
|
||||
13 / Northern Virginia.
|
||||
\ "us-east4"
|
||||
14 / Oregon.
|
||||
14 / Ohio.
|
||||
\ "us-east5"
|
||||
15 / Oregon.
|
||||
\ "us-west1"
|
||||
location> 12
|
||||
The storage class to use when storing objects in Google Cloud Storage.
|
||||
@@ -38781,8 +38805,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Google if using web browser to automatically
|
||||
authenticate. This only runs from the moment it opens your browser to
|
||||
@@ -39272,6 +39296,10 @@ then you will need to set this.</p>
|
||||
<ul>
|
||||
<li>Northern Virginia</li>
|
||||
</ul></li>
|
||||
<li>"us-east5"
|
||||
<ul>
|
||||
<li>Ohio</li>
|
||||
</ul></li>
|
||||
<li>"us-west1"
|
||||
<ul>
|
||||
<li>Oregon</li>
|
||||
@@ -39596,8 +39624,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Google if using web browser to automatically
|
||||
authenticate. This only runs from the moment it opens your browser to
|
||||
@@ -41538,8 +41566,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Google if using web browser to automatically
|
||||
authenticate. This only runs from the moment it opens your browser to
|
||||
@@ -42597,8 +42625,8 @@ your account and hence should not be shared with other persons.</strong>
|
||||
See the <a href="#keeping-your-tokens-safe">below section</a> for more
|
||||
information.</p>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from HiDrive. This only runs from the moment it
|
||||
opens your browser to the moment you get back the verification code. The
|
||||
@@ -47868,8 +47896,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Microsoft. This only runs from the moment it
|
||||
opens your browser to the moment you get back the verification code.
|
||||
@@ -51817,8 +51845,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note if you are using remote config with rclone authorize while your
|
||||
pcloud server is the EU region, you will need to set the hostname in
|
||||
'Edit advanced config', otherwise you might get a token error.</p>
|
||||
@@ -52568,8 +52596,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> </code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from premiumize.me. This only runs from the moment
|
||||
it opens your browser to the moment you get back the verification code.
|
||||
@@ -53107,8 +53135,8 @@ s) Set configuration password
|
||||
q) Quit config
|
||||
e/n/d/r/c/s/q> q</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from put.io if using web browser to automatically
|
||||
authenticate. This only runs from the moment it opens your browser to
|
||||
@@ -54987,7 +55015,7 @@ entered when you started to share on Windows. On smbd, it's the section
|
||||
title in <code>smb.conf</code> (usually in <code>/etc/samba/</code>)
|
||||
file. You can find shares by querying the root if you're unsure (e.g.
|
||||
<code>rclone lsd remote:</code>).</p>
|
||||
<p>You can't access to the shared printers from rclone, obviously.</p>
|
||||
<p>You can't access the shared printers from rclone, obviously.</p>
|
||||
<p>You can't use Anonymous access for logging in. You have to use the
|
||||
<code>guest</code> user with an empty password instead. The rclone
|
||||
client tries to avoid 8.3 names when uploading files by encoding
|
||||
@@ -57192,8 +57220,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y</code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Note that rclone runs a webserver on your local machine to collect
|
||||
the token as returned from Yandex Disk. This only runs from the moment
|
||||
it opens your browser to the moment you get back the verification code.
|
||||
@@ -57425,8 +57453,8 @@ e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> </code></pre>
|
||||
<p>See the <a href="https://rclone.org/remote_setup/">remote setup
|
||||
docs</a> for how to set it up on a machine with no Internet browser
|
||||
available.</p>
|
||||
docs</a> for how to set it up on a machine without an internet-connected
|
||||
web browser available.</p>
|
||||
<p>Rclone runs a webserver on your local computer to collect the
|
||||
authorization token from Zoho Workdrive. This is only from the moment
|
||||
your browser is opened until the token is returned. The webserver runs
|
||||
@@ -58481,6 +58509,48 @@ the output.</p>
|
||||
</ul>
|
||||
<!-- markdownlint-disable line-length -->
|
||||
<h1 id="changelog-1">Changelog</h1>
|
||||
<h2 id="v1.71.2---2025-10-20">v1.71.2 - 2025-10-20</h2>
|
||||
<p><a
|
||||
href="https://github.com/rclone/rclone/compare/v1.71.1...v1.71.2">See
|
||||
commits</a></p>
|
||||
<ul>
|
||||
<li>Bug Fixes
|
||||
<ul>
|
||||
<li>build
|
||||
<ul>
|
||||
<li>update Go to 1.25.3</li>
|
||||
<li>Update Docker image Alpine version to fix CVE-2025-9230</li>
|
||||
</ul></li>
|
||||
<li>bisync: Fix race when CaptureOutput is used concurrently (Nick
|
||||
Craig-Wood)</li>
|
||||
<li>doc fixes (albertony, dougal, iTrooz, Matt LaPaglia, Nick
|
||||
Craig-Wood)</li>
|
||||
<li>index: Add missing providers (dougal)</li>
|
||||
<li>serve http: Fix: logging URL on start (dougal)</li>
|
||||
</ul></li>
|
||||
<li>Azurefiles
|
||||
<ul>
|
||||
<li>Fix server side copy not waiting for completion (Vikas
|
||||
Bhansali)</li>
|
||||
</ul></li>
|
||||
<li>B2
|
||||
<ul>
|
||||
<li>Fix 1TB+ uploads (dougal)</li>
|
||||
</ul></li>
|
||||
<li>Google Cloud Storage
|
||||
<ul>
|
||||
<li>Add region us-east5 (Dulani Woods)</li>
|
||||
</ul></li>
|
||||
<li>Mega
|
||||
<ul>
|
||||
<li>Fix 402 payment required errors (Nick Craig-Wood)</li>
|
||||
</ul></li>
|
||||
<li>Pikpak
|
||||
<ul>
|
||||
<li>Fix unnecessary retries by using URL expire parameter (Youfu
|
||||
Zhang)</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h2 id="v1.71.1---2025-09-24">v1.71.1 - 2025-09-24</h2>
|
||||
<p><a
|
||||
href="https://github.com/rclone/rclone/compare/v1.71.0...v1.71.1">See
|
||||
|
||||
168
MANUAL.md
generated
168
MANUAL.md
generated
@@ -1,6 +1,6 @@
|
||||
% rclone(1) User Manual
|
||||
% Nick Craig-Wood
|
||||
% Sep 24, 2025
|
||||
% Oct 20, 2025
|
||||
|
||||
# NAME
|
||||
|
||||
@@ -205,6 +205,7 @@ WebDAV or S3, that work out of the box.)
|
||||
- Hetzner Storage Box
|
||||
- HiDrive
|
||||
- HTTP
|
||||
- Huawei OBS
|
||||
- iCloud Drive
|
||||
- ImageKit
|
||||
- Internet Archive
|
||||
@@ -247,7 +248,9 @@ WebDAV or S3, that work out of the box.)
|
||||
- QingStor
|
||||
- Qiniu Cloud Object Storage (Kodo)
|
||||
- Quatrix by Maytech
|
||||
- RackCorp Object Storage
|
||||
- Rackspace Cloud Files
|
||||
- Rclone Serve S3
|
||||
- rsync.net
|
||||
- Scaleway
|
||||
- Seafile
|
||||
@@ -3205,12 +3208,12 @@ Remote authorization.
|
||||
## Synopsis
|
||||
|
||||
Remote authorization. Used to authorize a remote or headless
|
||||
rclone from a machine with a browser - use as instructed by
|
||||
rclone config.
|
||||
rclone from a machine with a browser. Use as instructed by rclone config.
|
||||
See also the [remote setup documentation](/remote_setup).
|
||||
|
||||
The command requires 1-3 arguments:
|
||||
|
||||
- fs name (e.g., "drive", "s3", etc.)
|
||||
- Name of a backend (e.g. "drive", "s3")
|
||||
- Either a base64 encoded JSON blob obtained from a previous rclone config session
|
||||
- Or a client_id and client_secret pair obtained from the remote service
|
||||
|
||||
@@ -3221,7 +3224,7 @@ Use --template to generate HTML output via a custom Go template. If a blank
|
||||
string is provided as an argument to this flag, the default template is used.
|
||||
|
||||
```
|
||||
rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]
|
||||
rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
|
||||
```
|
||||
|
||||
## Options
|
||||
@@ -4992,12 +4995,12 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=e
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||
// Output: stories/The Quick Brown Fox!-20250924
|
||||
// Output: stories/The Quick Brown Fox!-20251020
|
||||
```
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||
// Output: stories/The Quick Brown Fox!-2025-09-24 0413PM
|
||||
// Output: stories/The Quick Brown Fox!-2025-10-20 1251PM
|
||||
```
|
||||
|
||||
```sh
|
||||
@@ -9336,7 +9339,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--rc-user` and `--rc-pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--rc---user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--rc-user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -11686,7 +11689,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -13218,7 +13221,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -13436,7 +13439,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -15046,7 +15049,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -19634,22 +19637,23 @@ The options set by environment variables can be seen with the `-vv` and
|
||||
# Configuring rclone on a remote / headless machine
|
||||
|
||||
Some of the configurations (those involving oauth2) require an
|
||||
Internet connected web browser.
|
||||
internet-connected web browser.
|
||||
|
||||
If you are trying to set rclone up on a remote or headless box with no
|
||||
browser available on it (e.g. a NAS or a server in a datacenter) then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
two ways of doing it, described below.
|
||||
If you are trying to set rclone up on a remote or headless machine with no
|
||||
browser available on it (e.g. a NAS or a server in a datacenter), then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
three ways of doing it, described below.
|
||||
|
||||
## Configuring using rclone authorize
|
||||
|
||||
On the headless box run `rclone` config but answer `N` to the `Use auto config?`
|
||||
question.
|
||||
On the headless machine run [rclone config](/commands/rclone_config), but
|
||||
answer `N` to the question `Use web browser to automatically authenticate rclone with remote?`.
|
||||
|
||||
```text
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
@@ -19661,33 +19665,35 @@ a web browser available.
|
||||
For more help and alternate methods see: https://rclone.org/remote_setup/
|
||||
Execute the following on the machine with the web browser (same rclone
|
||||
version recommended):
|
||||
rclone authorize "onedrive"
|
||||
rclone authorize "onedrive"
|
||||
Then paste the result.
|
||||
Enter a value.
|
||||
config_token>
|
||||
```
|
||||
|
||||
Then on your main desktop machine
|
||||
Then on your main desktop machine, run [rclone authorize](https://rclone.org/commands/rclone_authorize/).
|
||||
|
||||
```text
|
||||
rclone authorize "onedrive"
|
||||
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
|
||||
Log in and authorize rclone for access
|
||||
Waiting for code...
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Got code
|
||||
Paste the following into your remote machine --->
|
||||
SECRET_TOKEN
|
||||
<---End paste
|
||||
```
|
||||
|
||||
Then back to the headless box, paste in the code
|
||||
Then back to the headless machine, paste in the code.
|
||||
|
||||
```text
|
||||
config_token> SECRET_TOKEN
|
||||
--------------------
|
||||
[acd12]
|
||||
client_id =
|
||||
client_secret =
|
||||
client_id =
|
||||
client_secret =
|
||||
token = SECRET_TOKEN
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
@@ -19698,18 +19704,19 @@ y/e/d>
|
||||
|
||||
## Configuring by copying the config file
|
||||
|
||||
Rclone stores all of its config in a single configuration file. This
|
||||
can easily be copied to configure a remote rclone.
|
||||
Rclone stores all of its configuration in a single file. This can easily be
|
||||
copied to configure a remote rclone (although some backends does not support
|
||||
reusing the same configuration, consult your backend documentation to be
|
||||
sure).
|
||||
|
||||
So first configure rclone on your desktop machine with
|
||||
Start by running [rclone config](/commands/rclone_config) to create the
|
||||
configuration file on your desktop machine.
|
||||
|
||||
```sh
|
||||
rclone config
|
||||
```
|
||||
|
||||
to set up the config file.
|
||||
|
||||
Find the config file by running `rclone config file`, for example
|
||||
Then locate the file by running [rclone config file](/commands/rclone_config_file).
|
||||
|
||||
```sh
|
||||
$ rclone config file
|
||||
@@ -19717,34 +19724,40 @@ Configuration file is stored at:
|
||||
/home/user/.rclone.conf
|
||||
```
|
||||
|
||||
Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
|
||||
place it in the correct place (use `rclone config file` on the remote
|
||||
box to find out where).
|
||||
Finally, transfer the file to the remote machine (scp, cut paste, ftp, sftp, etc.)
|
||||
and place it in the correct location (use [rclone config file](/commands/rclone_config_file)
|
||||
on the remote machine to find out where).
|
||||
|
||||
## Configuring using SSH Tunnel
|
||||
|
||||
Linux and MacOS users can utilize SSH Tunnel to redirect the headless box
|
||||
port 53682 to local machine by using the following command:
|
||||
If you have an SSH client installed on your local machine, you can set up an
|
||||
SSH tunnel to redirect the port 53682 into the headless machine by using the
|
||||
following command:
|
||||
|
||||
```sh
|
||||
ssh -L localhost:53682:localhost:53682 username@remote_server
|
||||
```
|
||||
|
||||
Then on the headless box run `rclone config` and answer `Y` to the
|
||||
`Use auto config?` question.
|
||||
Then on the headless machine run [rclone config](/commands/rclone_config) and
|
||||
answer `Y` to the question `Use web browser to automatically authenticate rclone with remote?`.
|
||||
|
||||
```text
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
y/n> y
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
```
|
||||
|
||||
Then copy and paste the auth url `http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx`
|
||||
to the browser on your local machine, complete the auth and it is done.
|
||||
Finally, copy and paste the presented URL `http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx`
|
||||
to the browser on your local machine, complete the auth and you are done.
|
||||
|
||||
# Filtering, includes and excludes
|
||||
|
||||
@@ -24196,7 +24209,7 @@ Flags for general networking and HTTP stuff.
|
||||
--tpslimit float Limit HTTP transactions per second to this
|
||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||
--use-cookies Enable session cookiejar
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.1")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.2")
|
||||
```
|
||||
|
||||
|
||||
@@ -35763,7 +35776,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Box. This only runs from the moment it opens
|
||||
@@ -37755,7 +37768,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Citrix ShareFile. This only runs from the moment it opens
|
||||
@@ -39450,7 +39463,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Dropbox. This only
|
||||
@@ -41750,7 +41763,9 @@ Choose a number from below, or type in your own value
|
||||
\ "us-east1"
|
||||
13 / Northern Virginia.
|
||||
\ "us-east4"
|
||||
14 / Oregon.
|
||||
14 / Ohio.
|
||||
\ "us-east5"
|
||||
15 / Oregon.
|
||||
\ "us-west1"
|
||||
location> 12
|
||||
The storage class to use when storing objects in Google Cloud Storage.
|
||||
@@ -41797,7 +41812,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -42243,6 +42258,8 @@ Properties:
|
||||
- South Carolina
|
||||
- "us-east4"
|
||||
- Northern Virginia
|
||||
- "us-east5"
|
||||
- Ohio
|
||||
- "us-west1"
|
||||
- Oregon
|
||||
- "us-west2"
|
||||
@@ -42569,7 +42586,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -44514,7 +44531,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -45765,7 +45782,7 @@ and hence should not be shared with other persons.**
|
||||
See the [below section](#keeping-your-tokens-safe) for more information.
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from HiDrive. This only runs from the moment it opens
|
||||
@@ -51437,7 +51454,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Microsoft. This only runs from the moment it
|
||||
@@ -55335,7 +55352,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note if you are using remote config with rclone authorize while your pcloud
|
||||
server is the EU region, you will need to set the hostname in 'Edit advanced
|
||||
@@ -56201,7 +56218,7 @@ y/e/d>
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from premiumize.me. This only runs from the moment it opens
|
||||
@@ -56834,7 +56851,7 @@ e/n/d/r/c/s/q> q
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from put.io if using web browser to automatically
|
||||
@@ -59078,7 +59095,7 @@ you started to share on Windows. On smbd, it's the section title in `smb.conf`
|
||||
(usually in `/etc/samba/`) file.
|
||||
You can find shares by querying the root if you're unsure (e.g. `rclone lsd remote:`).
|
||||
|
||||
You can't access to the shared printers from rclone, obviously.
|
||||
You can't access the shared printers from rclone, obviously.
|
||||
|
||||
You can't use Anonymous access for logging in. You have to use the `guest` user
|
||||
with an empty password instead. The rclone client tries to avoid 8.3 names when
|
||||
@@ -61501,7 +61518,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Yandex Disk. This only runs from the moment it
|
||||
@@ -61794,7 +61811,7 @@ y/e/d>
|
||||
```
|
||||
|
||||
See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Rclone runs a webserver on your local computer to collect the
|
||||
authorization token from Zoho Workdrive. This is only from the moment
|
||||
@@ -62742,6 +62759,29 @@ Options:
|
||||
|
||||
# Changelog
|
||||
|
||||
## v1.71.2 - 2025-10-20
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.71.1...v1.71.2)
|
||||
|
||||
- Bug Fixes
|
||||
- build
|
||||
- update Go to 1.25.3
|
||||
- Update Docker image Alpine version to fix CVE-2025-9230
|
||||
- bisync: Fix race when CaptureOutput is used concurrently (Nick Craig-Wood)
|
||||
- doc fixes (albertony, dougal, iTrooz, Matt LaPaglia, Nick Craig-Wood)
|
||||
- index: Add missing providers (dougal)
|
||||
- serve http: Fix: logging URL on start (dougal)
|
||||
- Azurefiles
|
||||
- Fix server side copy not waiting for completion (Vikas Bhansali)
|
||||
- B2
|
||||
- Fix 1TB+ uploads (dougal)
|
||||
- Google Cloud Storage
|
||||
- Add region us-east5 (Dulani Woods)
|
||||
- Mega
|
||||
- Fix 402 payment required errors (Nick Craig-Wood)
|
||||
- Pikpak
|
||||
- Fix unnecessary retries by using URL expire parameter (Youfu Zhang)
|
||||
|
||||
## v1.71.1 - 2025-09-24
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.71.0...v1.71.1)
|
||||
|
||||
217
MANUAL.txt
generated
217
MANUAL.txt
generated
@@ -1,6 +1,6 @@
|
||||
rclone(1) User Manual
|
||||
Nick Craig-Wood
|
||||
Sep 24, 2025
|
||||
Oct 20, 2025
|
||||
|
||||
NAME
|
||||
|
||||
@@ -192,6 +192,7 @@ S3, that work out of the box.)
|
||||
- Hetzner Storage Box
|
||||
- HiDrive
|
||||
- HTTP
|
||||
- Huawei OBS
|
||||
- iCloud Drive
|
||||
- ImageKit
|
||||
- Internet Archive
|
||||
@@ -234,7 +235,9 @@ S3, that work out of the box.)
|
||||
- QingStor
|
||||
- Qiniu Cloud Object Storage (Kodo)
|
||||
- Quatrix by Maytech
|
||||
- RackCorp Object Storage
|
||||
- Rackspace Cloud Files
|
||||
- Rclone Serve S3
|
||||
- rsync.net
|
||||
- Scaleway
|
||||
- Seafile
|
||||
@@ -2832,11 +2835,12 @@ Remote authorization.
|
||||
Synopsis
|
||||
|
||||
Remote authorization. Used to authorize a remote or headless rclone from
|
||||
a machine with a browser - use as instructed by rclone config.
|
||||
a machine with a browser. Use as instructed by rclone config. See also
|
||||
the remote setup documentation.
|
||||
|
||||
The command requires 1-3 arguments:
|
||||
|
||||
- fs name (e.g., "drive", "s3", etc.)
|
||||
- Name of a backend (e.g. "drive", "s3")
|
||||
- Either a base64 encoded JSON blob obtained from a previous rclone
|
||||
config session
|
||||
- Or a client_id and client_secret pair obtained from the remote
|
||||
@@ -2849,7 +2853,7 @@ Use --template to generate HTML output via a custom Go template. If a
|
||||
blank string is provided as an argument to this flag, the default
|
||||
template is used.
|
||||
|
||||
rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]
|
||||
rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
|
||||
|
||||
Options
|
||||
|
||||
@@ -4307,10 +4311,10 @@ Examples:
|
||||
// Output: stories/The Quick Brown Fox!.txt
|
||||
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||
// Output: stories/The Quick Brown Fox!-20250924
|
||||
// Output: stories/The Quick Brown Fox!-20251020
|
||||
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||
// Output: stories/The Quick Brown Fox!-2025-09-24 0413PM
|
||||
// Output: stories/The Quick Brown Fox!-2025-10-20 1251PM
|
||||
|
||||
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
||||
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
||||
@@ -8297,7 +8301,7 @@ a single username and password with the --rc-user and --rc-pass flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
--user-from-header (e.g., --rc---user-from-header=x-remote-user). Ensure
|
||||
--user-from-header (e.g., --rc-user-from-header=x-remote-user). Ensure
|
||||
the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
@@ -10508,9 +10512,9 @@ a single username and password with the --user and --pass flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
--user-from-header (e.g., ----user-from-header=x-remote-user). Ensure
|
||||
the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
--user-from-header (e.g., --user-from-header=x-remote-user). Ensure the
|
||||
proxy is trusted and headers cannot be spoofed, as misconfiguration may
|
||||
lead to unauthorized access.
|
||||
|
||||
If either of the above authentication methods is not configured and
|
||||
client certificates are required by the --client-ca flag passed to the
|
||||
@@ -11935,9 +11939,9 @@ a single username and password with the --user and --pass flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
--user-from-header (e.g., ----user-from-header=x-remote-user). Ensure
|
||||
the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
--user-from-header (e.g., --user-from-header=x-remote-user). Ensure the
|
||||
proxy is trusted and headers cannot be spoofed, as misconfiguration may
|
||||
lead to unauthorized access.
|
||||
|
||||
If either of the above authentication methods is not configured and
|
||||
client certificates are required by the --client-ca flag passed to the
|
||||
@@ -12129,9 +12133,9 @@ a single username and password with the --user and --pass flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
--user-from-header (e.g., ----user-from-header=x-remote-user). Ensure
|
||||
the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
--user-from-header (e.g., --user-from-header=x-remote-user). Ensure the
|
||||
proxy is trusted and headers cannot be spoofed, as misconfiguration may
|
||||
lead to unauthorized access.
|
||||
|
||||
If either of the above authentication methods is not configured and
|
||||
client certificates are required by the --client-ca flag passed to the
|
||||
@@ -13677,9 +13681,9 @@ a single username and password with the --user and --pass flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
--user-from-header (e.g., ----user-from-header=x-remote-user). Ensure
|
||||
the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
--user-from-header (e.g., --user-from-header=x-remote-user). Ensure the
|
||||
proxy is trusted and headers cannot be spoofed, as misconfiguration may
|
||||
lead to unauthorized access.
|
||||
|
||||
If either of the above authentication methods is not configured and
|
||||
client certificates are required by the --client-ca flag passed to the
|
||||
@@ -17961,22 +17965,23 @@ The options set by environment variables can be seen with the -vv and
|
||||
|
||||
Configuring rclone on a remote / headless machine
|
||||
|
||||
Some of the configurations (those involving oauth2) require an Internet
|
||||
connected web browser.
|
||||
Some of the configurations (those involving oauth2) require an
|
||||
internet-connected web browser.
|
||||
|
||||
If you are trying to set rclone up on a remote or headless box with no
|
||||
browser available on it (e.g. a NAS or a server in a datacenter) then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
two ways of doing it, described below.
|
||||
If you are trying to set rclone up on a remote or headless machine with
|
||||
no browser available on it (e.g. a NAS or a server in a datacenter),
|
||||
then you will need to use an alternative means of configuration. There
|
||||
are three ways of doing it, described below.
|
||||
|
||||
Configuring using rclone authorize
|
||||
|
||||
On the headless box run rclone config but answer N to the
|
||||
Use auto config? question.
|
||||
On the headless machine run rclone config, but answer N to the question
|
||||
Use web browser to automatically authenticate rclone with remote?.
|
||||
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
@@ -17988,29 +17993,31 @@ Use auto config? question.
|
||||
For more help and alternate methods see: https://rclone.org/remote_setup/
|
||||
Execute the following on the machine with the web browser (same rclone
|
||||
version recommended):
|
||||
rclone authorize "onedrive"
|
||||
rclone authorize "onedrive"
|
||||
Then paste the result.
|
||||
Enter a value.
|
||||
config_token>
|
||||
|
||||
Then on your main desktop machine
|
||||
Then on your main desktop machine, run rclone authorize.
|
||||
|
||||
rclone authorize "onedrive"
|
||||
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
|
||||
Log in and authorize rclone for access
|
||||
Waiting for code...
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Got code
|
||||
Paste the following into your remote machine --->
|
||||
SECRET_TOKEN
|
||||
<---End paste
|
||||
|
||||
Then back to the headless box, paste in the code
|
||||
Then back to the headless machine, paste in the code.
|
||||
|
||||
config_token> SECRET_TOKEN
|
||||
--------------------
|
||||
[acd12]
|
||||
client_id =
|
||||
client_secret =
|
||||
client_id =
|
||||
client_secret =
|
||||
token = SECRET_TOKEN
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
@@ -18020,46 +18027,54 @@ Then back to the headless box, paste in the code
|
||||
|
||||
Configuring by copying the config file
|
||||
|
||||
Rclone stores all of its config in a single configuration file. This can
|
||||
easily be copied to configure a remote rclone.
|
||||
Rclone stores all of its configuration in a single file. This can easily
|
||||
be copied to configure a remote rclone (although some backends does not
|
||||
support reusing the same configuration, consult your backend
|
||||
documentation to be sure).
|
||||
|
||||
So first configure rclone on your desktop machine with
|
||||
Start by running rclone config to create the configuration file on your
|
||||
desktop machine.
|
||||
|
||||
rclone config
|
||||
|
||||
to set up the config file.
|
||||
|
||||
Find the config file by running rclone config file, for example
|
||||
Then locate the file by running rclone config file.
|
||||
|
||||
$ rclone config file
|
||||
Configuration file is stored at:
|
||||
/home/user/.rclone.conf
|
||||
|
||||
Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
|
||||
place it in the correct place (use rclone config file on the remote box
|
||||
to find out where).
|
||||
Finally, transfer the file to the remote machine (scp, cut paste, ftp,
|
||||
sftp, etc.) and place it in the correct location (use rclone config file
|
||||
on the remote machine to find out where).
|
||||
|
||||
Configuring using SSH Tunnel
|
||||
|
||||
Linux and MacOS users can utilize SSH Tunnel to redirect the headless
|
||||
box port 53682 to local machine by using the following command:
|
||||
If you have an SSH client installed on your local machine, you can set
|
||||
up an SSH tunnel to redirect the port 53682 into the headless machine by
|
||||
using the following command:
|
||||
|
||||
ssh -L localhost:53682:localhost:53682 username@remote_server
|
||||
|
||||
Then on the headless box run rclone config and answer Y to the
|
||||
Use auto config? question.
|
||||
Then on the headless machine run rclone config and answer Y to the
|
||||
question
|
||||
Use web browser to automatically authenticate rclone with remote?.
|
||||
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
y/n> y
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Then copy and paste the auth url
|
||||
http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx to the browser on your
|
||||
local machine, complete the auth and it is done.
|
||||
Finally, copy and paste the presented URL
|
||||
http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx to the browser
|
||||
on your local machine, complete the auth and you are done.
|
||||
|
||||
Filtering, includes and excludes
|
||||
|
||||
@@ -22580,7 +22595,7 @@ Flags for general networking and HTTP stuff.
|
||||
--tpslimit float Limit HTTP transactions per second to this
|
||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||
--use-cookies Enable session cookiejar
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.1")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.2")
|
||||
|
||||
Performance
|
||||
|
||||
@@ -33795,8 +33810,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Box. This only runs from the moment it opens your
|
||||
@@ -35772,8 +35787,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Citrix ShareFile. This only runs from the moment
|
||||
@@ -37404,8 +37419,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Dropbox. This only runs from the moment it opens
|
||||
@@ -39577,7 +39592,9 @@ This will guide you through an interactive setup process:
|
||||
\ "us-east1"
|
||||
13 / Northern Virginia.
|
||||
\ "us-east4"
|
||||
14 / Oregon.
|
||||
14 / Ohio.
|
||||
\ "us-east5"
|
||||
15 / Oregon.
|
||||
\ "us-west1"
|
||||
location> 12
|
||||
The storage class to use when storing objects in Google Cloud Storage.
|
||||
@@ -39622,8 +39639,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -40048,6 +40065,8 @@ Properties:
|
||||
- South Carolina
|
||||
- "us-east4"
|
||||
- Northern Virginia
|
||||
- "us-east5"
|
||||
- Ohio
|
||||
- "us-west1"
|
||||
- Oregon
|
||||
- "us-west2"
|
||||
@@ -40372,8 +40391,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -42382,8 +42401,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -43581,8 +43600,8 @@ You should be aware that OAuth-tokens can be used to access your account
|
||||
and hence should not be shared with other persons. See the below section
|
||||
for more information.
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from HiDrive. This only runs from the moment it opens
|
||||
@@ -49176,8 +49195,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Microsoft. This only runs from the moment it
|
||||
@@ -53111,8 +53130,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note if you are using remote config with rclone authorize while your
|
||||
pcloud server is the EU region, you will need to set the hostname in
|
||||
@@ -53971,8 +53990,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d>
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from premiumize.me. This only runs from the moment it
|
||||
@@ -54576,8 +54595,8 @@ This will guide you through an interactive setup process:
|
||||
q) Quit config
|
||||
e/n/d/r/c/s/q> q
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from put.io if using web browser to automatically
|
||||
@@ -56727,7 +56746,7 @@ when you started to share on Windows. On smbd, it's the section title in
|
||||
smb.conf (usually in /etc/samba/) file. You can find shares by querying
|
||||
the root if you're unsure (e.g. rclone lsd remote:).
|
||||
|
||||
You can't access to the shared printers from rclone, obviously.
|
||||
You can't access the shared printers from rclone, obviously.
|
||||
|
||||
You can't use Anonymous access for logging in. You have to use the guest
|
||||
user with an empty password instead. The rclone client tries to avoid
|
||||
@@ -59122,8 +59141,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Yandex Disk. This only runs from the moment it
|
||||
@@ -59400,8 +59419,8 @@ This will guide you through an interactive setup process:
|
||||
d) Delete this remote
|
||||
y/e/d>
|
||||
|
||||
See the remote setup docs for how to set it up on a machine with no
|
||||
Internet browser available.
|
||||
See the remote setup docs for how to set it up on a machine without an
|
||||
internet-connected web browser available.
|
||||
|
||||
Rclone runs a webserver on your local computer to collect the
|
||||
authorization token from Zoho Workdrive. This is only from the moment
|
||||
@@ -60326,6 +60345,32 @@ Options:
|
||||
|
||||
Changelog
|
||||
|
||||
v1.71.2 - 2025-10-20
|
||||
|
||||
See commits
|
||||
|
||||
- Bug Fixes
|
||||
- build
|
||||
- update Go to 1.25.3
|
||||
- Update Docker image Alpine version to fix CVE-2025-9230
|
||||
- bisync: Fix race when CaptureOutput is used concurrently (Nick
|
||||
Craig-Wood)
|
||||
- doc fixes (albertony, dougal, iTrooz, Matt LaPaglia, Nick
|
||||
Craig-Wood)
|
||||
- index: Add missing providers (dougal)
|
||||
- serve http: Fix: logging URL on start (dougal)
|
||||
- Azurefiles
|
||||
- Fix server side copy not waiting for completion (Vikas Bhansali)
|
||||
- B2
|
||||
- Fix 1TB+ uploads (dougal)
|
||||
- Google Cloud Storage
|
||||
- Add region us-east5 (Dulani Woods)
|
||||
- Mega
|
||||
- Fix 402 payment required errors (Nick Craig-Wood)
|
||||
- Pikpak
|
||||
- Fix unnecessary retries by using URL expire parameter (Youfu
|
||||
Zhang)
|
||||
|
||||
v1.71.1 - 2025-09-24
|
||||
|
||||
See commits
|
||||
|
||||
@@ -1313,10 +1313,29 @@ func (f *Fs) Copy(ctx context.Context, src fs.Object, remote string) (fs.Object,
|
||||
}
|
||||
srcURL := srcObj.fileClient().URL()
|
||||
fc := f.fileClient(remote)
|
||||
_, err = fc.StartCopyFromURL(ctx, srcURL, &opt)
|
||||
startCopy, err := fc.StartCopyFromURL(ctx, srcURL, &opt)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Copy failed: %w", err)
|
||||
}
|
||||
|
||||
// Poll for completion if necessary
|
||||
//
|
||||
// The for loop is never executed for same storage account copies.
|
||||
copyStatus := startCopy.CopyStatus
|
||||
var properties file.GetPropertiesResponse
|
||||
pollTime := 100 * time.Millisecond
|
||||
|
||||
for copyStatus != nil && string(*copyStatus) == string(file.CopyStatusTypePending) {
|
||||
time.Sleep(pollTime)
|
||||
|
||||
properties, err = fc.GetProperties(ctx, &file.GetPropertiesOptions{})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
copyStatus = properties.CopyStatus
|
||||
pollTime = min(2*pollTime, time.Second)
|
||||
}
|
||||
|
||||
dstObj, err := f.NewObject(ctx, remote)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Copy: NewObject failed: %w", err)
|
||||
|
||||
@@ -2192,13 +2192,17 @@ func (f *Fs) OpenChunkWriter(ctx context.Context, remote string, src fs.ObjectIn
|
||||
return info, nil, err
|
||||
}
|
||||
|
||||
up, err := f.newLargeUpload(ctx, o, nil, src, f.opt.ChunkSize, false, nil, options...)
|
||||
if err != nil {
|
||||
return info, nil, err
|
||||
}
|
||||
|
||||
info = fs.ChunkWriterInfo{
|
||||
ChunkSize: int64(f.opt.ChunkSize),
|
||||
ChunkSize: up.chunkSize,
|
||||
Concurrency: o.fs.opt.UploadConcurrency,
|
||||
//LeavePartsOnError: o.fs.opt.LeavePartsOnError,
|
||||
}
|
||||
up, err := f.newLargeUpload(ctx, o, nil, src, f.opt.ChunkSize, false, nil, options...)
|
||||
return info, up, err
|
||||
return info, up, nil
|
||||
}
|
||||
|
||||
// Remove an object
|
||||
|
||||
@@ -252,6 +252,9 @@ Docs: https://cloud.google.com/storage/docs/bucket-policy-only
|
||||
}, {
|
||||
Value: "us-east4",
|
||||
Help: "Northern Virginia",
|
||||
}, {
|
||||
Value: "us-east5",
|
||||
Help: "Ohio",
|
||||
}, {
|
||||
Value: "us-west1",
|
||||
Help: "Oregon",
|
||||
|
||||
@@ -5,6 +5,7 @@ package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"time"
|
||||
@@ -136,8 +137,25 @@ type Link struct {
|
||||
}
|
||||
|
||||
// Valid reports whether l is non-nil, has an URL, and is not expired.
|
||||
// It primarily checks the URL's expire query parameter, falling back to the Expire field.
|
||||
func (l *Link) Valid() bool {
|
||||
return l != nil && l.URL != "" && time.Now().Add(10*time.Second).Before(time.Time(l.Expire))
|
||||
if l == nil || l.URL == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
// Primary validation: check URL's expire query parameter
|
||||
if u, err := url.Parse(l.URL); err == nil {
|
||||
if expireStr := u.Query().Get("expire"); expireStr != "" {
|
||||
// Try parsing as Unix timestamp (seconds)
|
||||
if expireInt, err := strconv.ParseInt(expireStr, 10, 64); err == nil {
|
||||
expireTime := time.Unix(expireInt, 0)
|
||||
return time.Now().Add(10 * time.Second).Before(expireTime)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback validation: use the Expire field if URL parsing didn't work
|
||||
return time.Now().Add(10 * time.Second).Before(time.Time(l.Expire))
|
||||
}
|
||||
|
||||
// URL is a basic form of URL
|
||||
|
||||
99
backend/pikpak/api/types_test.go
Normal file
99
backend/pikpak/api/types_test.go
Normal file
@@ -0,0 +1,99 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// TestLinkValid tests the Link.Valid method for various scenarios
|
||||
func TestLinkValid(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
link *Link
|
||||
expected bool
|
||||
desc string
|
||||
}{
|
||||
{
|
||||
name: "nil link",
|
||||
link: nil,
|
||||
expected: false,
|
||||
desc: "nil link should be invalid",
|
||||
},
|
||||
{
|
||||
name: "empty URL",
|
||||
link: &Link{URL: ""},
|
||||
expected: false,
|
||||
desc: "empty URL should be invalid",
|
||||
},
|
||||
{
|
||||
name: "valid URL with future expire parameter",
|
||||
link: &Link{
|
||||
URL: fmt.Sprintf("https://example.com/file?expire=%d", time.Now().Add(time.Hour).Unix()),
|
||||
},
|
||||
expected: true,
|
||||
desc: "URL with future expire parameter should be valid",
|
||||
},
|
||||
{
|
||||
name: "expired URL with past expire parameter",
|
||||
link: &Link{
|
||||
URL: fmt.Sprintf("https://example.com/file?expire=%d", time.Now().Add(-time.Hour).Unix()),
|
||||
},
|
||||
expected: false,
|
||||
desc: "URL with past expire parameter should be invalid",
|
||||
},
|
||||
{
|
||||
name: "URL expire parameter takes precedence over Expire field",
|
||||
link: &Link{
|
||||
URL: fmt.Sprintf("https://example.com/file?expire=%d", time.Now().Add(time.Hour).Unix()),
|
||||
Expire: Time(time.Now().Add(-time.Hour)), // Fallback is expired
|
||||
},
|
||||
expected: true,
|
||||
desc: "URL expire parameter should take precedence over Expire field",
|
||||
},
|
||||
{
|
||||
name: "URL expire parameter within 10 second buffer should be invalid",
|
||||
link: &Link{
|
||||
URL: fmt.Sprintf("https://example.com/file?expire=%d", time.Now().Add(5*time.Second).Unix()),
|
||||
},
|
||||
expected: false,
|
||||
desc: "URL expire parameter within 10 second buffer should be invalid",
|
||||
},
|
||||
{
|
||||
name: "fallback to Expire field when no URL expire parameter",
|
||||
link: &Link{
|
||||
URL: "https://example.com/file",
|
||||
Expire: Time(time.Now().Add(time.Hour)),
|
||||
},
|
||||
expected: true,
|
||||
desc: "should fallback to Expire field when URL has no expire parameter",
|
||||
},
|
||||
{
|
||||
name: "fallback to Expire field when URL expire parameter is invalid",
|
||||
link: &Link{
|
||||
URL: "https://example.com/file?expire=invalid",
|
||||
Expire: Time(time.Now().Add(time.Hour)),
|
||||
},
|
||||
expected: true,
|
||||
desc: "should fallback to Expire field when URL expire parameter is unparseable",
|
||||
},
|
||||
{
|
||||
name: "invalid when both URL expire and Expire field are expired",
|
||||
link: &Link{
|
||||
URL: fmt.Sprintf("https://example.com/file?expire=%d", time.Now().Add(-time.Hour).Unix()),
|
||||
Expire: Time(time.Now().Add(-time.Hour)),
|
||||
},
|
||||
expected: false,
|
||||
desc: "should be invalid when both URL expire and Expire field are expired",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
result := tt.link.Valid()
|
||||
if result != tt.expected {
|
||||
t.Errorf("Link.Valid() = %v, expected %v. %s", result, tt.expected, tt.desc)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -23,15 +23,15 @@ func init() {
|
||||
}
|
||||
|
||||
var commandDefinition = &cobra.Command{
|
||||
Use: "authorize <fs name> [base64_json_blob | client_id client_secret]",
|
||||
Use: "authorize <backendname> [base64_json_blob | client_id client_secret]",
|
||||
Short: `Remote authorization.`,
|
||||
Long: `Remote authorization. Used to authorize a remote or headless
|
||||
rclone from a machine with a browser - use as instructed by
|
||||
rclone config.
|
||||
rclone from a machine with a browser. Use as instructed by rclone config.
|
||||
See also the [remote setup documentation](/remote_setup).
|
||||
|
||||
The command requires 1-3 arguments:
|
||||
|
||||
- fs name (e.g., "drive", "s3", etc.)
|
||||
- Name of a backend (e.g. "drive", "s3")
|
||||
- Either a base64 encoded JSON blob obtained from a previous rclone config session
|
||||
- Or a client_id and client_secret pair obtained from the remote service
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
|
||||
func TestAuthorizeCommand(t *testing.T) {
|
||||
// Test that the Use string is correctly formatted
|
||||
if commandDefinition.Use != "authorize <fs name> [base64_json_blob | client_id client_secret]" {
|
||||
if commandDefinition.Use != "authorize <backendname> [base64_json_blob | client_id client_secret]" {
|
||||
t.Errorf("Command Use string doesn't match expected format: %s", commandDefinition.Use)
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ func TestAuthorizeCommand(t *testing.T) {
|
||||
}
|
||||
|
||||
helpOutput := buf.String()
|
||||
if !strings.Contains(helpOutput, "authorize <fs name>") {
|
||||
if !strings.Contains(helpOutput, "authorize <backendname>") {
|
||||
t.Errorf("Help output doesn't contain correct usage information")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,19 @@ package bilib
|
||||
import (
|
||||
"bytes"
|
||||
"log/slog"
|
||||
"sync"
|
||||
|
||||
"github.com/rclone/rclone/fs/log"
|
||||
)
|
||||
|
||||
// CaptureOutput runs a function capturing its output at log level INFO.
|
||||
func CaptureOutput(fun func()) []byte {
|
||||
var mu sync.Mutex
|
||||
buf := &bytes.Buffer{}
|
||||
oldLevel := log.Handler.SetLevel(slog.LevelInfo)
|
||||
log.Handler.SetOutput(func(level slog.Level, text string) {
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
buf.WriteString(text)
|
||||
})
|
||||
defer func() {
|
||||
@@ -20,5 +24,7 @@ func CaptureOutput(fun func()) []byte {
|
||||
log.Handler.SetLevel(oldLevel)
|
||||
}()
|
||||
fun()
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
return buf.Bytes()
|
||||
}
|
||||
|
||||
@@ -208,6 +208,7 @@ func newServer(ctx context.Context, f fs.Fs, opt *Options, vfsOpt *vfscommon.Opt
|
||||
// Serve HTTP until the server is shutdown
|
||||
func (s *HTTP) Serve() error {
|
||||
s.server.Serve()
|
||||
fs.Logf(s.f, "HTTP Server started on %s", s.server.URLs())
|
||||
s.server.Wait()
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -136,6 +136,7 @@ WebDAV or S3, that work out of the box.)
|
||||
{{< provider name="Hetzner Storage Box" home="https://www.hetzner.com/storage/storage-box" config="/sftp/#hetzner-storage-box" >}}
|
||||
{{< provider name="HiDrive" home="https://www.strato.de/cloud-speicher/" config="/hidrive/" >}}
|
||||
{{< provider name="HTTP" home="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" config="/http/" >}}
|
||||
{{< provider name="Huawei OBS" home="https://www.huaweicloud.com/intl/en-us/product/obs.html" config="/s3/#huawei-obs" >}}
|
||||
{{< provider name="iCloud Drive" home="https://icloud.com/" config="/iclouddrive/" >}}
|
||||
{{< provider name="ImageKit" home="https://imagekit.io" config="/imagekit/" >}}
|
||||
{{< provider name="Internet Archive" home="https://archive.org/" config="/internetarchive/" >}}
|
||||
@@ -178,7 +179,9 @@ WebDAV or S3, that work out of the box.)
|
||||
{{< provider name="QingStor" home="https://www.qingcloud.com/products/storage" config="/qingstor/" >}}
|
||||
{{< provider name="Qiniu Cloud Object Storage (Kodo)" home="https://www.qiniu.com/en/products/kodo" config="/s3/#qiniu" >}}
|
||||
{{< provider name="Quatrix by Maytech" home="https://www.maytech.net/products/quatrix-business" config="/quatrix/" >}}
|
||||
{{< provider name="RackCorp Object Storage" home="https://www.rackcorp.com/" config="/s3/#RackCorp" >}}
|
||||
{{< provider name="Rackspace Cloud Files" home="https://www.rackspace.com/cloud/files" config="/swift/" >}}
|
||||
{{< provider name="Rclone Serve S3" home="/commands/rclone_serve_s3/" config="/s3/#rclone" >}}
|
||||
{{< provider name="rsync.net" home="https://rsync.net/products/rclone.html" config="/sftp/#rsync-net" >}}
|
||||
{{< provider name="Scaleway" home="https://www.scaleway.com/object-storage/" config="/s3/#scaleway" >}}
|
||||
{{< provider name="Seafile" home="https://www.seafile.com/" config="/seafile/" >}}
|
||||
|
||||
@@ -84,7 +84,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Box. This only runs from the moment it opens
|
||||
|
||||
@@ -6,6 +6,29 @@ description: "Rclone Changelog"
|
||||
|
||||
# Changelog
|
||||
|
||||
## v1.71.2 - 2025-10-20
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.71.1...v1.71.2)
|
||||
|
||||
- Bug Fixes
|
||||
- build
|
||||
- update Go to 1.25.3
|
||||
- Update Docker image Alpine version to fix CVE-2025-9230
|
||||
- bisync: Fix race when CaptureOutput is used concurrently (Nick Craig-Wood)
|
||||
- doc fixes (albertony, dougal, iTrooz, Matt LaPaglia, Nick Craig-Wood)
|
||||
- index: Add missing providers (dougal)
|
||||
- serve http: Fix: logging URL on start (dougal)
|
||||
- Azurefiles
|
||||
- Fix server side copy not waiting for completion (Vikas Bhansali)
|
||||
- B2
|
||||
- Fix 1TB+ uploads (dougal)
|
||||
- Google Cloud Storage
|
||||
- Add region us-east5 (Dulani Woods)
|
||||
- Mega
|
||||
- Fix 402 payment required errors (Nick Craig-Wood)
|
||||
- Pikpak
|
||||
- Fix unnecessary retries by using URL expire parameter (Youfu Zhang)
|
||||
|
||||
## v1.71.1 - 2025-09-24
|
||||
|
||||
[See commits](https://github.com/rclone/rclone/compare/v1.71.0...v1.71.1)
|
||||
|
||||
@@ -1013,7 +1013,7 @@ rclone [flags]
|
||||
--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 (default "rclone/v1.71.1")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.2")
|
||||
-v, --verbose count Print lots more stuff (repeat for more)
|
||||
-V, --version Print the version number
|
||||
--webdav-auth-redirect Preserve authentication on redirect
|
||||
|
||||
@@ -11,12 +11,12 @@ Remote authorization.
|
||||
## Synopsis
|
||||
|
||||
Remote authorization. Used to authorize a remote or headless
|
||||
rclone from a machine with a browser - use as instructed by
|
||||
rclone config.
|
||||
rclone from a machine with a browser. Use as instructed by rclone config.
|
||||
See also the [remote setup documentation](/remote_setup).
|
||||
|
||||
The command requires 1-3 arguments:
|
||||
|
||||
- fs name (e.g., "drive", "s3", etc.)
|
||||
- Name of a backend (e.g. "drive", "s3")
|
||||
- Either a base64 encoded JSON blob obtained from a previous rclone config session
|
||||
- Or a client_id and client_secret pair obtained from the remote service
|
||||
|
||||
@@ -27,7 +27,7 @@ Use --template to generate HTML output via a custom Go template. If a blank
|
||||
string is provided as an argument to this flag, the default template is used.
|
||||
|
||||
```
|
||||
rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]
|
||||
rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
@@ -231,12 +231,12 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=e
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||
// Output: stories/The Quick Brown Fox!-20250924
|
||||
// Output: stories/The Quick Brown Fox!-20251020
|
||||
```
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||
// Output: stories/The Quick Brown Fox!-2025-09-24 0413PM
|
||||
// Output: stories/The Quick Brown Fox!-2025-10-20 1251PM
|
||||
```
|
||||
|
||||
```sh
|
||||
|
||||
@@ -130,7 +130,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--rc-user` and `--rc-pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--rc---user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--rc-user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the `--user` and `--pass` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with `--user-from-header` (e.g., `----user-from-header=x-remote-user`).
|
||||
username provided in the configured header with `--user-from-header` (e.g., `--user-from-header=x-remote-user`).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
|
||||
@@ -60,7 +60,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Dropbox. This only
|
||||
|
||||
@@ -121,7 +121,7 @@ Flags for general networking and HTTP stuff.
|
||||
--tpslimit float Limit HTTP transactions per second to this
|
||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||
--use-cookies Enable session cookiejar
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.1")
|
||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.71.2")
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -100,7 +100,9 @@ Choose a number from below, or type in your own value
|
||||
\ "us-east1"
|
||||
13 / Northern Virginia.
|
||||
\ "us-east4"
|
||||
14 / Oregon.
|
||||
14 / Ohio.
|
||||
\ "us-east5"
|
||||
15 / Oregon.
|
||||
\ "us-west1"
|
||||
location> 12
|
||||
The storage class to use when storing objects in Google Cloud Storage.
|
||||
@@ -147,7 +149,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -593,6 +595,8 @@ Properties:
|
||||
- South Carolina
|
||||
- "us-east4"
|
||||
- Northern Virginia
|
||||
- "us-east5"
|
||||
- Ohio
|
||||
- "us-west1"
|
||||
- Oregon
|
||||
- "us-west2"
|
||||
|
||||
@@ -97,7 +97,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
|
||||
@@ -72,7 +72,7 @@ and hence should not be shared with other persons.**
|
||||
See the [below section](#keeping-your-tokens-safe) for more information.
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from HiDrive. This only runs from the moment it opens
|
||||
|
||||
@@ -100,7 +100,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Microsoft. This only runs from the moment it
|
||||
|
||||
@@ -71,7 +71,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note if you are using remote config with rclone authorize while your pcloud
|
||||
server is the EU region, you will need to set the hostname in 'Edit advanced
|
||||
|
||||
@@ -65,7 +65,7 @@ y/e/d>
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from premiumize.me. This only runs from the moment it opens
|
||||
|
||||
@@ -131,6 +131,109 @@ section and followed by the privacy policy of Rclone.
|
||||
local configuration file.
|
||||
- Rclone does not share any user data with third parties.
|
||||
|
||||
## User Data Collection and Storage
|
||||
|
||||
This section outlines how rclone accesses, uses, stores, and shares
|
||||
user data obtained from service provider APIs. Our use of information
|
||||
received from provider APIs will adhere to the provider API Services
|
||||
User Data Policy, including the Limited Use requirements.
|
||||
|
||||
Rclone is a client-side command-line program that users run on their
|
||||
own computers to manage their files on cloud storage services. The
|
||||
rclone project does not operate any servers that store or process your
|
||||
personal data. All data access and processing occurs directly on the
|
||||
user's machine and between the user's machine and the provider API
|
||||
servers.
|
||||
|
||||
### Data Accessed
|
||||
|
||||
When you authorize rclone to access your files on your provider, it
|
||||
may access the following types of data, depending on the permissions
|
||||
you grant:
|
||||
|
||||
- Files: Rclone accesses the metadata (filenames, sizes, modification
|
||||
times, etc.) and content of your files and folders on your provider.
|
||||
This is necessary for rclone to perform file management tasks like
|
||||
copying, syncing, moving, and listing files.
|
||||
|
||||
- Authentication Tokens: Rclone requests OAuth 2.0 access tokens from
|
||||
the provider. These tokens are used to authenticate your requests to
|
||||
the provider's APIs and prove that you have granted rclone
|
||||
permission to access your data.
|
||||
|
||||
- Basic Profile Information: As part of the authentication process,
|
||||
rclone may receive your email address to identify the connected
|
||||
account within the rclone configuration.
|
||||
|
||||
### Data Usage
|
||||
|
||||
Rclone uses the user data it accesses solely to provide its core
|
||||
functionality, which is initiated and controlled entirely by you, the
|
||||
user. Specifically:
|
||||
|
||||
- The data is used to perform file transfer and management operations
|
||||
(such as `copy`, `sync`, `move`, `list`, `delete`) between your
|
||||
local machine and your provider account as per your direct commands.
|
||||
|
||||
- Authentication tokens are used exclusively to make authorized API
|
||||
calls to the provider's services on your behalf.
|
||||
|
||||
- Your email address is used locally to help you identify which
|
||||
provider account is configured.
|
||||
|
||||
Rclone does not use your data for any other purpose, such as
|
||||
advertising, marketing, or analysis by the rclone project developers.
|
||||
|
||||
### Data Sharing
|
||||
|
||||
Rclone does not share your user data with any third parties.
|
||||
|
||||
All data transfers initiated by the user occur directly between the
|
||||
machine where rclone is running and the provider's servers. The rclone
|
||||
project and its developers **never** have access to your
|
||||
authentication tokens or your file data.
|
||||
|
||||
### Data Storage & Protection
|
||||
|
||||
- Configuration Data: Rclone stores its configuration, including the
|
||||
OAuth 2.0 tokens required to access your provider account, in a
|
||||
configuration file (`rclone.conf`) located on your local machine.
|
||||
|
||||
- Security: You are responsible for securing this configuration
|
||||
file on your own computer. Rclone provides a built-in option to
|
||||
encrypt the configuration file with a password for an added layer of
|
||||
security. We strongly recommend using this feature.
|
||||
|
||||
- File Data: Your file data is only held in your computer's memory
|
||||
(RAM) temporarily during transfer operations. Rclone does not
|
||||
permanently store your file content on your local disk unless you
|
||||
explicitly command it to do so (e.g., by running a `copy` command
|
||||
from the provider to a local directory).
|
||||
|
||||
### Data Retention & Deletion
|
||||
|
||||
Rclone gives you full control over your data.
|
||||
|
||||
- Data Retention: Rclone retains the configuration data, including
|
||||
authentication tokens, on your local machine for as long as you keep
|
||||
the configuration file. This allows you to use rclone without having
|
||||
to re-authenticate for every session.
|
||||
|
||||
- Data Deletion: You can delete your data and revoke rclone's
|
||||
access at any time through one of the following methods:
|
||||
|
||||
1. Local Deletion: You can delete the specific provider
|
||||
configuration from your `rclone.conf` file or delete the entire
|
||||
file itself. This will permanently remove the authentication
|
||||
tokens from your machine.
|
||||
|
||||
2. Revoking Access via the provider: You can revoke rclone's
|
||||
access to your provider directly from your the providers's
|
||||
security settings page. This will invalidate the authentication
|
||||
tokens, and rclone will no longer be able to access your data.
|
||||
For example, if you are using Google you can manage your permissions
|
||||
[on the Google permissions page](https://myaccount.google.com/permissions).
|
||||
|
||||
## Resources & Further Information
|
||||
|
||||
- [Data Protection Act 1998](http://www.legislation.gov.uk/ukpga/1998/29/contents)
|
||||
|
||||
@@ -80,7 +80,7 @@ e/n/d/r/c/s/q> q
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from put.io if using web browser to automatically
|
||||
|
||||
@@ -6,22 +6,23 @@ description: "Configuring rclone up on a remote / headless machine"
|
||||
# Configuring rclone on a remote / headless machine
|
||||
|
||||
Some of the configurations (those involving oauth2) require an
|
||||
Internet connected web browser.
|
||||
internet-connected web browser.
|
||||
|
||||
If you are trying to set rclone up on a remote or headless box with no
|
||||
browser available on it (e.g. a NAS or a server in a datacenter) then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
two ways of doing it, described below.
|
||||
If you are trying to set rclone up on a remote or headless machine with no
|
||||
browser available on it (e.g. a NAS or a server in a datacenter), then
|
||||
you will need to use an alternative means of configuration. There are
|
||||
three ways of doing it, described below.
|
||||
|
||||
## Configuring using rclone authorize
|
||||
|
||||
On the headless box run `rclone` config but answer `N` to the `Use auto config?`
|
||||
question.
|
||||
On the headless machine run [rclone config](/commands/rclone_config), but
|
||||
answer `N` to the question `Use web browser to automatically authenticate rclone with remote?`.
|
||||
|
||||
```text
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
@@ -33,33 +34,35 @@ a web browser available.
|
||||
For more help and alternate methods see: https://rclone.org/remote_setup/
|
||||
Execute the following on the machine with the web browser (same rclone
|
||||
version recommended):
|
||||
rclone authorize "onedrive"
|
||||
rclone authorize "onedrive"
|
||||
Then paste the result.
|
||||
Enter a value.
|
||||
config_token>
|
||||
```
|
||||
|
||||
Then on your main desktop machine
|
||||
Then on your main desktop machine, run [rclone authorize](/commands/rclone_authorize/).
|
||||
|
||||
```text
|
||||
rclone authorize "onedrive"
|
||||
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
|
||||
Log in and authorize rclone for access
|
||||
Waiting for code...
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Got code
|
||||
Paste the following into your remote machine --->
|
||||
SECRET_TOKEN
|
||||
<---End paste
|
||||
```
|
||||
|
||||
Then back to the headless box, paste in the code
|
||||
Then back to the headless machine, paste in the code.
|
||||
|
||||
```text
|
||||
config_token> SECRET_TOKEN
|
||||
--------------------
|
||||
[acd12]
|
||||
client_id =
|
||||
client_secret =
|
||||
client_id =
|
||||
client_secret =
|
||||
token = SECRET_TOKEN
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
@@ -70,18 +73,19 @@ y/e/d>
|
||||
|
||||
## Configuring by copying the config file
|
||||
|
||||
Rclone stores all of its config in a single configuration file. This
|
||||
can easily be copied to configure a remote rclone.
|
||||
Rclone stores all of its configuration in a single file. This can easily be
|
||||
copied to configure a remote rclone (although some backends does not support
|
||||
reusing the same configuration, consult your backend documentation to be
|
||||
sure).
|
||||
|
||||
So first configure rclone on your desktop machine with
|
||||
Start by running [rclone config](/commands/rclone_config) to create the
|
||||
configuration file on your desktop machine.
|
||||
|
||||
```sh
|
||||
rclone config
|
||||
```
|
||||
|
||||
to set up the config file.
|
||||
|
||||
Find the config file by running `rclone config file`, for example
|
||||
Then locate the file by running [rclone config file](/commands/rclone_config_file).
|
||||
|
||||
```sh
|
||||
$ rclone config file
|
||||
@@ -89,31 +93,37 @@ Configuration file is stored at:
|
||||
/home/user/.rclone.conf
|
||||
```
|
||||
|
||||
Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
|
||||
place it in the correct place (use `rclone config file` on the remote
|
||||
box to find out where).
|
||||
Finally, transfer the file to the remote machine (scp, cut paste, ftp, sftp, etc.)
|
||||
and place it in the correct location (use [rclone config file](/commands/rclone_config_file)
|
||||
on the remote machine to find out where).
|
||||
|
||||
## Configuring using SSH Tunnel
|
||||
|
||||
Linux and MacOS users can utilize SSH Tunnel to redirect the headless box
|
||||
port 53682 to local machine by using the following command:
|
||||
If you have an SSH client installed on your local machine, you can set up an
|
||||
SSH tunnel to redirect the port 53682 into the headless machine by using the
|
||||
following command:
|
||||
|
||||
```sh
|
||||
ssh -L localhost:53682:localhost:53682 username@remote_server
|
||||
```
|
||||
|
||||
Then on the headless box run `rclone config` and answer `Y` to the
|
||||
`Use auto config?` question.
|
||||
Then on the headless machine run [rclone config](/commands/rclone_config) and
|
||||
answer `Y` to the question `Use web browser to automatically authenticate rclone with remote?`.
|
||||
|
||||
```text
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
y/n> y
|
||||
NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
|
||||
NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
```
|
||||
|
||||
Then copy and paste the auth url `http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx`
|
||||
to the browser on your local machine, complete the auth and it is done.
|
||||
Finally, copy and paste the presented URL `http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx`
|
||||
to the browser on your local machine, complete the auth and you are done.
|
||||
|
||||
@@ -84,7 +84,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Citrix ShareFile. This only runs from the moment it opens
|
||||
|
||||
@@ -21,7 +21,7 @@ you started to share on Windows. On smbd, it's the section title in `smb.conf`
|
||||
(usually in `/etc/samba/`) file.
|
||||
You can find shares by querying the root if you're unsure (e.g. `rclone lsd remote:`).
|
||||
|
||||
You can't access to the shared printers from rclone, obviously.
|
||||
You can't access the shared printers from rclone, obviously.
|
||||
|
||||
You can't use Anonymous access for logging in. You have to use the `guest` user
|
||||
with an empty password instead. The rclone client tries to avoid 8.3 names when
|
||||
|
||||
@@ -59,14 +59,14 @@ Thank you very much to our sponsors:
|
||||
<!-- markdownlint-capture -->
|
||||
<!-- markdownlint-disable line-length no-bare-urls -->
|
||||
|
||||
{{< sponsor src="/img/logos/backblaze.svg" width="300" height="200" title="Visit our sponsor Backblaze" link="https://www.backblaze.com/cloud-storage-rclonead?utm_source=rclone&utm_medium=paid&utm_campaign=rclone-website-20250715">}}
|
||||
{{< sponsor src="/img/logos/idrive_e2.svg" width="300" height="200" title="Visit our sponsor IDrive e2" link="https://www.idrive.com/e2/?refer=rclone">}}
|
||||
{{< sponsor src="/img/logos/filescom-enterprise-grade-workflows.png" width="300" height="200" title="Start Your Free Trial Today" link="https://files.com/?utm_source=rclone&utm_medium=referral&utm_campaign=banner&utm_term=rclone">}}
|
||||
{{< sponsor src="/img/logos/mega-s4.svg" width="300" height="200" title="MEGA S4: New S3 compatible object storage. High scale. Low cost. Free egress." link="https://mega.io/objectstorage?utm_source=rclone&utm_medium=referral&utm_campaign=rclone-mega-s4&mct=rclonepromo">}}
|
||||
{{< sponsor src="/img/logos/sia.svg" width="200" height="200" title="Visit our sponsor sia" link="https://sia.tech">}}
|
||||
{{< sponsor src="/img/logos/route4me.svg" width="400" height="200" title="Visit our sponsor Route4Me" link="https://route4me.com/">}}
|
||||
{{< sponsor src="/img/logos/rcloneview.svg" width="300" height="200" title="Visit our sponsor RcloneView" link="https://rcloneview.com/">}}
|
||||
{{< sponsor src="/img/logos/rcloneui.svg" width="300" height="200" title="Visit our sponsor RcloneUI" link="https://github.com/rclone-ui/rclone-ui">}}
|
||||
{{< sponsor src="/img/logos/filelu-rclone.svg" width="330" height="200" title="Visit our sponsor FileLu" link="https://filelu.com/">}}
|
||||
{{< sponsor src="/img/logos/filelu-rclone.svg" width="300" height="200" title="Visit our sponsor FileLu" link="https://filelu.com/">}}
|
||||
{{< sponsor src="/img/logos/torbox.png" width="200" height="200" title="Visit our sponsor TORBOX" link="https://www.torbox.app/">}}
|
||||
|
||||
<!-- markdownlint-restore -->
|
||||
|
||||
@@ -61,7 +61,7 @@ y/e/d> y
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Yandex Disk. This only runs from the moment it
|
||||
|
||||
@@ -80,7 +80,7 @@ y/e/d>
|
||||
```
|
||||
|
||||
See the [remote setup docs](/remote_setup/) for how to set it up on a
|
||||
machine with no Internet browser available.
|
||||
machine without an internet-connected web browser available.
|
||||
|
||||
Rclone runs a webserver on your local computer to collect the
|
||||
authorization token from Zoho Workdrive. This is only from the moment
|
||||
|
||||
@@ -9,15 +9,6 @@
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
Platinum Sponsor
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<a href="https://www.backblaze.com/cloud-storage-rclonead?utm_source=rclone&utm_medium=paid&utm_campaign=rclone-website-20250715" target="_blank" rel="noopener" title="Visit rclone's sponsor Backblaze"><img src="/img/logos/backblaze.svg"></a><br />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
Gold Sponsor
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<a class="dropdown-item" href="/filtering/"><i class="fa fa-book fa-fw"></i> Filtering</a>
|
||||
<a class="dropdown-item" href="/gui/"><i class="fa fa-book fa-fw"></i> GUI</a>
|
||||
<a class="dropdown-item" href="/rc/"><i class="fa fa-book fa-fw"></i> Remote Control</a>
|
||||
<a class="dropdown-item" href="/remote_setup/"><i class="fa fa-book fa-fw"></i> Remote Setup</a>
|
||||
<a class="dropdown-item" href="/changelog/"><i class="fa fa-book fa-fw"></i> Changelog</a>
|
||||
<a class="dropdown-item" href="/bugs/"><i class="fa fa-book fa-fw"></i> Bugs</a>
|
||||
<a class="dropdown-item" href="/faq/"><i class="fa fa-book fa-fw"></i> FAQ</a>
|
||||
|
||||
@@ -1 +1 @@
|
||||
v1.71.1
|
||||
v1.71.2
|
||||
@@ -12,9 +12,9 @@ import (
|
||||
//
|
||||
// It expects 1, 2 or 3 arguments
|
||||
//
|
||||
// rclone authorize "fs name"
|
||||
// rclone authorize "fs name" "base64 encoded JSON blob"
|
||||
// rclone authorize "fs name" "client id" "client secret"
|
||||
// rclone authorize "backend name"
|
||||
// rclone authorize "backend name" "base64 encoded JSON blob"
|
||||
// rclone authorize "backend name" "client id" "client secret"
|
||||
func Authorize(ctx context.Context, args []string, noAutoBrowser bool, templateFile string) error {
|
||||
ctx = suppressConfirm(ctx)
|
||||
ctx = fs.ConfigOAuthOnly(ctx)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package fs
|
||||
|
||||
// VersionTag of rclone
|
||||
var VersionTag = "v1.71.1"
|
||||
var VersionTag = "v1.71.2"
|
||||
|
||||
12
go.mod
12
go.mod
@@ -71,7 +71,7 @@ require (
|
||||
github.com/spf13/cobra v1.9.1
|
||||
github.com/spf13/pflag v1.0.7
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20241213151442-a19cff0ec7b5
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20250926104142-ccb8d3498e6c
|
||||
github.com/unknwon/goconfig v1.0.0
|
||||
github.com/willscott/go-nfs v0.0.3
|
||||
github.com/winfsp/cgofuse v1.6.0
|
||||
@@ -82,12 +82,12 @@ require (
|
||||
github.com/zeebo/xxh3 v1.0.2
|
||||
go.etcd.io/bbolt v1.4.2
|
||||
goftp.io/server/v2 v2.0.1
|
||||
golang.org/x/crypto v0.41.0
|
||||
golang.org/x/crypto v0.42.0
|
||||
golang.org/x/net v0.43.0
|
||||
golang.org/x/oauth2 v0.30.0
|
||||
golang.org/x/sync v0.16.0
|
||||
golang.org/x/sys v0.35.0
|
||||
golang.org/x/text v0.28.0
|
||||
golang.org/x/sync v0.17.0
|
||||
golang.org/x/sys v0.36.0
|
||||
golang.org/x/text v0.29.0
|
||||
golang.org/x/time v0.12.0
|
||||
google.golang.org/api v0.247.0
|
||||
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
||||
@@ -247,5 +247,5 @@ require (
|
||||
github.com/golang-jwt/jwt/v4 v4.5.2
|
||||
github.com/pkg/xattr v0.4.12
|
||||
golang.org/x/mobile v0.0.0-20250808145247-395d808d53cd
|
||||
golang.org/x/term v0.34.0
|
||||
golang.org/x/term v0.35.0
|
||||
)
|
||||
|
||||
24
go.sum
24
go.sum
@@ -604,8 +604,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20241213151442-a19cff0ec7b5 h1:Sa+sR8aaAMFwxhXWENEnE6ZpqhZ9d7u1RT2722Rw6hc=
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20241213151442-a19cff0ec7b5/go.mod h1:UdZiFUFu6e2WjjtjxivwXWcwc1N/8zgbkBR9QNucUOY=
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20250926104142-ccb8d3498e6c h1:BLopNCyqewbE8+BtlIp/Juzu8AJGxz0gHdGADnsblVc=
|
||||
github.com/t3rm1n4l/go-mega v0.0.0-20250926104142-ccb8d3498e6c/go.mod h1:ykucQyiE9Q2qx1wLlEtZkkNn1IURib/2O+Mvd25i1Fo=
|
||||
github.com/tailscale/depaware v0.0.0-20210622194025-720c4b409502/go.mod h1:p9lPsd+cx33L3H9nNoecRRxPssFKUwwI50I3pZ0yT+8=
|
||||
github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww=
|
||||
github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0=
|
||||
@@ -701,8 +701,8 @@ golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+
|
||||
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
|
||||
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
|
||||
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
|
||||
golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI=
|
||||
golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -810,8 +810,8 @@ golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
|
||||
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
|
||||
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -864,8 +864,8 @@ golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
|
||||
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
|
||||
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
@@ -879,8 +879,8 @@ golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
||||
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
|
||||
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
|
||||
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
|
||||
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
|
||||
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
|
||||
golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ=
|
||||
golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
@@ -896,8 +896,8 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
|
||||
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
|
||||
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
|
||||
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
|
||||
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
|
||||
@@ -20,7 +20,7 @@ You can either use an htpasswd file which can take lots of users, or
|
||||
set a single username and password with the ` + "`--{{ .Prefix }}user` and `--{{ .Prefix }}pass`" + ` flags.
|
||||
|
||||
Alternatively, you can have the reverse proxy manage authentication and use the
|
||||
username provided in the configured header with ` + "`--user-from-header`" + ` (e.g., ` + "`--{{ .Prefix }}--user-from-header=x-remote-user`" + `).
|
||||
username provided in the configured header with ` + "`--user-from-header`" + ` (e.g., ` + "`--{{ .Prefix }}user-from-header=x-remote-user`" + `).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as misconfiguration
|
||||
may lead to unauthorized access.
|
||||
|
||||
|
||||
@@ -523,8 +523,6 @@ func (s *Server) initTLS() error {
|
||||
func (s *Server) Serve() {
|
||||
s.wg.Add(len(s.instances))
|
||||
for _, ii := range s.instances {
|
||||
// TODO: decide how/when to log listening url
|
||||
// log.Printf("listening on %s", ii.url)
|
||||
go ii.serve(&s.wg)
|
||||
}
|
||||
// Install an atexit handler to shutdown gracefully
|
||||
|
||||
@@ -218,12 +218,12 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=e
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||
// Output: stories/The Quick Brown Fox!-20250924
|
||||
// Output: stories/The Quick Brown Fox!-20251020
|
||||
```
|
||||
|
||||
```sh
|
||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||
// Output: stories/The Quick Brown Fox!-2025-09-24 0423PM
|
||||
// Output: stories/The Quick Brown Fox!-2025-10-20 0101PM
|
||||
```
|
||||
|
||||
```sh
|
||||
|
||||
229
rclone.1
generated
229
rclone.1
generated
@@ -15,7 +15,7 @@
|
||||
. ftr VB CB
|
||||
. ftr VBI CBI
|
||||
.\}
|
||||
.TH "rclone" "1" "Sep 24, 2025" "User Manual" ""
|
||||
.TH "rclone" "1" "Oct 20, 2025" "User Manual" ""
|
||||
.hy
|
||||
.SH NAME
|
||||
.PP
|
||||
@@ -292,6 +292,8 @@ HiDrive
|
||||
.IP \[bu] 2
|
||||
HTTP
|
||||
.IP \[bu] 2
|
||||
Huawei OBS
|
||||
.IP \[bu] 2
|
||||
iCloud Drive
|
||||
.IP \[bu] 2
|
||||
ImageKit
|
||||
@@ -376,8 +378,12 @@ Qiniu Cloud Object Storage (Kodo)
|
||||
.IP \[bu] 2
|
||||
Quatrix by Maytech
|
||||
.IP \[bu] 2
|
||||
RackCorp Object Storage
|
||||
.IP \[bu] 2
|
||||
Rackspace Cloud Files
|
||||
.IP \[bu] 2
|
||||
Rclone Serve S3
|
||||
.IP \[bu] 2
|
||||
rsync.net
|
||||
.IP \[bu] 2
|
||||
Scaleway
|
||||
@@ -3808,11 +3814,14 @@ Remote authorization.
|
||||
.PP
|
||||
Remote authorization.
|
||||
Used to authorize a remote or headless rclone from a machine with a
|
||||
browser - use as instructed by rclone config.
|
||||
browser.
|
||||
Use as instructed by rclone config.
|
||||
See also the remote setup documentation.
|
||||
.PP
|
||||
The command requires 1-3 arguments:
|
||||
.IP \[bu] 2
|
||||
fs name (e.g., \[dq]drive\[dq], \[dq]s3\[dq], etc.)
|
||||
Name of a backend (e.g.
|
||||
\[dq]drive\[dq], \[dq]s3\[dq])
|
||||
.IP \[bu] 2
|
||||
Either a base64 encoded JSON blob obtained from a previous rclone config
|
||||
session
|
||||
@@ -3828,7 +3837,7 @@ template is used.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]
|
||||
rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Options
|
||||
@@ -5794,14 +5803,14 @@ rclone convmv \[dq]stories/The Quick Brown Fox!.txt\[dq] --name-transform \[dq]a
|
||||
.nf
|
||||
\f[C]
|
||||
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{YYYYMMDD}\[dq]
|
||||
// Output: stories/The Quick Brown Fox!-20250924
|
||||
// Output: stories/The Quick Brown Fox!-20251020
|
||||
\f[R]
|
||||
.fi
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{macfriendlytime}\[dq]
|
||||
// Output: stories/The Quick Brown Fox!-2025-09-24 0413PM
|
||||
// Output: stories/The Quick Brown Fox!-2025-10-20 1251PM
|
||||
\f[R]
|
||||
.fi
|
||||
.IP
|
||||
@@ -10834,7 +10843,7 @@ a single username and password with the \f[V]--rc-user\f[R] and
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
\f[V]--user-from-header\f[R] (e.g.,
|
||||
\f[V]--rc---user-from-header=x-remote-user\f[R]).
|
||||
\f[V]--rc-user-from-header=x-remote-user\f[R]).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as
|
||||
misconfiguration may lead to unauthorized access.
|
||||
.PP
|
||||
@@ -13558,7 +13567,7 @@ a single username and password with the \f[V]--user\f[R] and
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
\f[V]--user-from-header\f[R] (e.g.,
|
||||
\f[V]----user-from-header=x-remote-user\f[R]).
|
||||
\f[V]--user-from-header=x-remote-user\f[R]).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as
|
||||
misconfiguration may lead to unauthorized access.
|
||||
.PP
|
||||
@@ -15279,7 +15288,7 @@ a single username and password with the \f[V]--user\f[R] and
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
\f[V]--user-from-header\f[R] (e.g.,
|
||||
\f[V]----user-from-header=x-remote-user\f[R]).
|
||||
\f[V]--user-from-header=x-remote-user\f[R]).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as
|
||||
misconfiguration may lead to unauthorized access.
|
||||
.PP
|
||||
@@ -15533,7 +15542,7 @@ a single username and password with the \f[V]--user\f[R] and
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
\f[V]--user-from-header\f[R] (e.g.,
|
||||
\f[V]----user-from-header=x-remote-user\f[R]).
|
||||
\f[V]--user-from-header=x-remote-user\f[R]).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as
|
||||
misconfiguration may lead to unauthorized access.
|
||||
.PP
|
||||
@@ -17444,7 +17453,7 @@ a single username and password with the \f[V]--user\f[R] and
|
||||
Alternatively, you can have the reverse proxy manage authentication and
|
||||
use the username provided in the configured header with
|
||||
\f[V]--user-from-header\f[R] (e.g.,
|
||||
\f[V]----user-from-header=x-remote-user\f[R]).
|
||||
\f[V]--user-from-header=x-remote-user\f[R]).
|
||||
Ensure the proxy is trusted and headers cannot be spoofed, as
|
||||
misconfiguration may lead to unauthorized access.
|
||||
.PP
|
||||
@@ -22813,24 +22822,26 @@ The options set by environment variables can be seen with the
|
||||
\f[V]rclone version -vv\f[R].
|
||||
.SH Configuring rclone on a remote / headless machine
|
||||
.PP
|
||||
Some of the configurations (those involving oauth2) require an Internet
|
||||
connected web browser.
|
||||
Some of the configurations (those involving oauth2) require an
|
||||
internet-connected web browser.
|
||||
.PP
|
||||
If you are trying to set rclone up on a remote or headless box with no
|
||||
browser available on it (e.g.
|
||||
a NAS or a server in a datacenter) then you will need to use an
|
||||
If you are trying to set rclone up on a remote or headless machine with
|
||||
no browser available on it (e.g.
|
||||
a NAS or a server in a datacenter), then you will need to use an
|
||||
alternative means of configuration.
|
||||
There are two ways of doing it, described below.
|
||||
There are three ways of doing it, described below.
|
||||
.SS Configuring using rclone authorize
|
||||
.PP
|
||||
On the headless box run \f[V]rclone\f[R] config but answer \f[V]N\f[R]
|
||||
to the \f[V]Use auto config?\f[R] question.
|
||||
On the headless machine run rclone config, but answer \f[V]N\f[R] to the
|
||||
question
|
||||
\f[V]Use web browser to automatically authenticate rclone with remote?\f[R].
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
@@ -22842,21 +22853,24 @@ a web browser available.
|
||||
For more help and alternate methods see: https://rclone.org/remote_setup/
|
||||
Execute the following on the machine with the web browser (same rclone
|
||||
version recommended):
|
||||
rclone authorize \[dq]onedrive\[dq]
|
||||
rclone authorize \[dq]onedrive\[dq]
|
||||
Then paste the result.
|
||||
Enter a value.
|
||||
config_token>
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Then on your main desktop machine
|
||||
Then on your main desktop machine, run rclone
|
||||
authorize (https://rclone.org/commands/rclone_authorize/).
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
rclone authorize \[dq]onedrive\[dq]
|
||||
If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
|
||||
Log in and authorize rclone for access
|
||||
Waiting for code...
|
||||
NOTICE: Make sure your Redirect URL is set to \[dq]http://localhost:53682/\[dq] in your custom config.
|
||||
NOTICE: If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
|
||||
Got code
|
||||
Paste the following into your remote machine --->
|
||||
SECRET_TOKEN
|
||||
@@ -22864,15 +22878,15 @@ SECRET_TOKEN
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Then back to the headless box, paste in the code
|
||||
Then back to the headless machine, paste in the code.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
config_token> SECRET_TOKEN
|
||||
--------------------
|
||||
[acd12]
|
||||
client_id =
|
||||
client_secret =
|
||||
client_id =
|
||||
client_secret =
|
||||
token = SECRET_TOKEN
|
||||
--------------------
|
||||
y) Yes this is OK
|
||||
@@ -22883,10 +22897,13 @@ y/e/d>
|
||||
.fi
|
||||
.SS Configuring by copying the config file
|
||||
.PP
|
||||
Rclone stores all of its config in a single configuration file.
|
||||
This can easily be copied to configure a remote rclone.
|
||||
Rclone stores all of its configuration in a single file.
|
||||
This can easily be copied to configure a remote rclone (although some
|
||||
backends does not support reusing the same configuration, consult your
|
||||
backend documentation to be sure).
|
||||
.PP
|
||||
So first configure rclone on your desktop machine with
|
||||
Start by running rclone config to create the configuration file on your
|
||||
desktop machine.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
@@ -22894,10 +22911,7 @@ rclone config
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
to set up the config file.
|
||||
.PP
|
||||
Find the config file by running \f[V]rclone config file\f[R], for
|
||||
example
|
||||
Then locate the file by running rclone config file.
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
@@ -22907,13 +22921,15 @@ Configuration file is stored at:
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.)
|
||||
and place it in the correct place (use \f[V]rclone config file\f[R] on
|
||||
the remote box to find out where).
|
||||
Finally, transfer the file to the remote machine (scp, cut paste, ftp,
|
||||
sftp, etc.)
|
||||
and place it in the correct location (use rclone config file on the
|
||||
remote machine to find out where).
|
||||
.SS Configuring using SSH Tunnel
|
||||
.PP
|
||||
Linux and MacOS users can utilize SSH Tunnel to redirect the headless
|
||||
box port 53682 to local machine by using the following command:
|
||||
If you have an SSH client installed on your local machine, you can set
|
||||
up an SSH tunnel to redirect the port 53682 into the headless machine by
|
||||
using the following command:
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
@@ -22921,24 +22937,30 @@ ssh -L localhost:53682:localhost:53682 username\[at]remote_server
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Then on the headless box run \f[V]rclone config\f[R] and answer
|
||||
\f[V]Y\f[R] to the \f[V]Use auto config?\f[R] question.
|
||||
Then on the headless machine run rclone config and answer \f[V]Y\f[R] to
|
||||
the question
|
||||
\f[V]Use web browser to automatically authenticate rclone with remote?\f[R].
|
||||
.IP
|
||||
.nf
|
||||
\f[C]
|
||||
Use auto config?
|
||||
* Say Y if not sure
|
||||
* Say N if you are working on a remote or headless machine
|
||||
Use web browser to automatically authenticate rclone with remote?
|
||||
* Say Y if the machine running rclone has a web browser you can use
|
||||
* Say N if running rclone on a (remote) machine without web browser access
|
||||
If not sure try Y. If Y failed, try N.
|
||||
|
||||
y) Yes (default)
|
||||
n) No
|
||||
y/n> y
|
||||
NOTICE: Make sure your Redirect URL is set to \[dq]http://localhost:53682/\[dq] in your custom config.
|
||||
NOTICE: If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
|
||||
NOTICE: Log in and authorize rclone for access
|
||||
NOTICE: Waiting for code...
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
Then copy and paste the auth url
|
||||
\f[V]http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx\f[R] to the browser
|
||||
on your local machine, complete the auth and it is done.
|
||||
Finally, copy and paste the presented URL
|
||||
\f[V]http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx\f[R] to
|
||||
the browser on your local machine, complete the auth and you are done.
|
||||
.SH Filtering, includes and excludes
|
||||
.PP
|
||||
Filter flags determine which files rclone \f[V]sync\f[R],
|
||||
@@ -30967,7 +30989,7 @@ Flags for general networking and HTTP stuff.
|
||||
--tpslimit float Limit HTTP transactions per second to this
|
||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||
--use-cookies Enable session cookiejar
|
||||
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.71.1\[dq])
|
||||
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.71.2\[dq])
|
||||
\f[R]
|
||||
.fi
|
||||
.SS Performance
|
||||
@@ -45274,7 +45296,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Box.
|
||||
@@ -47684,7 +47707,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Citrix ShareFile.
|
||||
@@ -49774,7 +49798,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Dropbox.
|
||||
@@ -52604,7 +52629,9 @@ Choose a number from below, or type in your own value
|
||||
\[rs] \[dq]us-east1\[dq]
|
||||
13 / Northern Virginia.
|
||||
\[rs] \[dq]us-east4\[dq]
|
||||
14 / Oregon.
|
||||
14 / Ohio.
|
||||
\[rs] \[dq]us-east5\[dq]
|
||||
15 / Oregon.
|
||||
\[rs] \[dq]us-west1\[dq]
|
||||
location> 12
|
||||
The storage class to use when storing objects in Google Cloud Storage.
|
||||
@@ -52652,7 +52679,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -53353,6 +53381,12 @@ South Carolina
|
||||
Northern Virginia
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\[dq]us-east5\[dq]
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Ohio
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
\[dq]us-west1\[dq]
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
@@ -53800,7 +53834,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -56609,7 +56644,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Google if using web browser to automatically
|
||||
@@ -58086,7 +58122,8 @@ account and hence should not be shared with other persons.\f[R] See the
|
||||
below section for more information.
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from HiDrive.
|
||||
@@ -65379,7 +65416,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Microsoft.
|
||||
@@ -70789,7 +70827,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note if you are using remote config with rclone authorize while your
|
||||
pcloud server is the EU region, you will need to set the hostname in
|
||||
@@ -71832,7 +71871,8 @@ y/e/d>
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from premiumize.me.
|
||||
@@ -72554,7 +72594,8 @@ e/n/d/r/c/s/q> q
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from put.io if using web browser to automatically
|
||||
@@ -75275,7 +75316,7 @@ On smbd, it\[aq]s the section title in \f[V]smb.conf\f[R] (usually in
|
||||
You can find shares by querying the root if you\[aq]re unsure (e.g.
|
||||
\f[V]rclone lsd remote:\f[R]).
|
||||
.PP
|
||||
You can\[aq]t access to the shared printers from rclone, obviously.
|
||||
You can\[aq]t access the shared printers from rclone, obviously.
|
||||
.PP
|
||||
You can\[aq]t use Anonymous access for logging in.
|
||||
You have to use the \f[V]guest\f[R] user with an empty password instead.
|
||||
@@ -78335,7 +78376,8 @@ y/e/d> y
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Note that rclone runs a webserver on your local machine to collect the
|
||||
token as returned from Yandex Disk.
|
||||
@@ -78666,7 +78708,8 @@ y/e/d>
|
||||
.fi
|
||||
.PP
|
||||
See the remote setup docs (https://rclone.org/remote_setup/) for how to
|
||||
set it up on a machine with no Internet browser available.
|
||||
set it up on a machine without an internet-connected web browser
|
||||
available.
|
||||
.PP
|
||||
Rclone runs a webserver on your local computer to collect the
|
||||
authorization token from Zoho Workdrive.
|
||||
@@ -80189,6 +80232,60 @@ Options:
|
||||
.IP \[bu] 2
|
||||
\[dq]error\[dq]: return an error based on option value
|
||||
.SH Changelog
|
||||
.SS v1.71.2 - 2025-10-20
|
||||
.PP
|
||||
See commits (https://github.com/rclone/rclone/compare/v1.71.1...v1.71.2)
|
||||
.IP \[bu] 2
|
||||
Bug Fixes
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
build
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
update Go to 1.25.3
|
||||
.IP \[bu] 2
|
||||
Update Docker image Alpine version to fix CVE-2025-9230
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
bisync: Fix race when CaptureOutput is used concurrently (Nick
|
||||
Craig-Wood)
|
||||
.IP \[bu] 2
|
||||
doc fixes (albertony, dougal, iTrooz, Matt LaPaglia, Nick Craig-Wood)
|
||||
.IP \[bu] 2
|
||||
index: Add missing providers (dougal)
|
||||
.IP \[bu] 2
|
||||
serve http: Fix: logging URL on start (dougal)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Azurefiles
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Fix server side copy not waiting for completion (Vikas Bhansali)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
B2
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Fix 1TB+ uploads (dougal)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Google Cloud Storage
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Add region us-east5 (Dulani Woods)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Mega
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Fix 402 payment required errors (Nick Craig-Wood)
|
||||
.RE
|
||||
.IP \[bu] 2
|
||||
Pikpak
|
||||
.RS 2
|
||||
.IP \[bu] 2
|
||||
Fix unnecessary retries by using URL expire parameter (Youfu Zhang)
|
||||
.RE
|
||||
.SS v1.71.1 - 2025-09-24
|
||||
.PP
|
||||
See commits (https://github.com/rclone/rclone/compare/v1.71.0...v1.71.1)
|
||||
|
||||
Reference in New Issue
Block a user