1
0
mirror of https://github.com/rclone/rclone.git synced 2026-02-02 17:54:14 +00:00

Compare commits

..

21 Commits

Author SHA1 Message Date
Nick Craig-Wood
a2b292b31d Version v1.71.2 2025-10-20 13:59:45 +01:00
Nick Craig-Wood
4013f006b8 docs: update sponsors 2025-10-20 12:49:19 +01:00
Nick Craig-Wood
371fc61191 docs: update sponsor images 2025-10-20 12:49:19 +01:00
Nick Craig-Wood
0d9a95125c docs: update privacy policy with a section on user data 2025-10-20 12:49:19 +01:00
Dulani Woods
386d3c5b4d gcs: add region us-east5 - fixes #8863 2025-10-20 12:49:19 +01:00
dougal
3dceb72e9b index: add missing providers 2025-10-20 12:49:19 +01:00
dougal
30b016d8c0 docs: add missing ` 2025-10-20 12:49:19 +01:00
Nick Craig-Wood
b8e6d45482 mega: fix 402 payment required errors - fixes #8758
The underlying library now supports hashcash which should fix this
problem.
2025-10-20 12:49:19 +01:00
iTrooz
dfdc69a3e1 docs: fix variants of --user-from-header 2025-10-20 12:41:15 +01:00
albertony
0908c346bb docs: add remote setup page to main docs dropdown 2025-10-20 12:41:15 +01:00
albertony
f186b7554e docs: update remote setup page 2025-10-20 12:41:15 +01:00
albertony
4bbab927fa docs: add link from authorize command docs to remote setup docs 2025-10-20 12:41:15 +01:00
albertony
1c119f9330 docs: lowercase internet and web browser instead of Internet browser 2025-10-20 12:41:15 +01:00
albertony
089c4b1a69 docs: use the term backend name instead of fs name for authorize command 2025-10-20 12:41:15 +01:00
Nick Craig-Wood
b5ba737e14 bisync: fix race when CaptureOutput is used concurrently #8815
Before this change CaptureOutput could trip the race detector when
used concurrently. In particular if go routines using the logging are
outlasting the return from `fun()`.

This fixes the problem with a mutex.
2025-10-20 12:41:15 +01:00
Vikas Bhansali
15f727f0e3 azurefiles: Fix server side copy not waiting for completion - fixes #8848 2025-10-20 12:41:15 +01:00
Youfu Zhang
01e1f90216 pikpak: fix unnecessary retries by using URL expire parameter - fixes #8601
Before this change, rclone would unnecessarily retry downloads when
the `Link.Expire` field was unreliable but the download URL contained
a valid expire query parameter. This primarily affects cases where
media links are unavailable or when `no_media_link` is enabled.

The `Link.Valid()` method now primarily checks the URL's expire query
parameter (as Unix timestamp) and falls back to the Expire field
only when URL parsing fails. This eliminates the `error no link`
retry loops while maintaining backward compatibility.

Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
2025-10-20 12:41:15 +01:00
dougal
997c73b586 serve http: fix: logging url on start 2025-10-20 12:41:15 +01:00
Matt LaPaglia
ccd01f1a68 docs: fix typo 2025-10-20 12:41:15 +01:00
dougal
63c0dc773c b2: fix 1TB+ uploads
Before this change the minimum chunk size would default to 96M which
would allow a maximum size of just below 1TB file to be uploaded, due to
the 10000 part rule for b2.

Now the calculated chunk size is used so the chunk size can be 5GB
making a max file size of 50TB.

Fixes #8460
2025-10-20 12:41:15 +01:00
Nick Craig-Wood
f1e6bffc14 Start v1.71.2-DEV development 2025-09-24 17:33:54 +01:00
53 changed files with 945 additions and 410 deletions

View File

@@ -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
View File

@@ -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 &lt;fs name&gt; [base64_json_blob | client_id client_secret] [flags]</code></pre>
<pre><code>rclone authorize &lt;backendname&gt; [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">&quot;stories/The Quick Brown Fox!&quot;</span> <span class="at">--name-transform</span> <span class="st">&quot;date=-{YYYYMMDD}&quot;</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">&quot;stories/The Quick Brown Fox!&quot;</span> <span class="at">--name-transform</span> <span class="st">&quot;date=-{macfriendlytime}&quot;</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">&quot;stories/The Quick Brown Fox!.txt&quot;</span> <span class="at">--name-transform</span> <span class="st">&quot;all,regex=[</span><span class="dt">\\</span><span class="st">.</span><span class="dt">\\</span><span class="st">w]/ab&quot;</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 &quot;onedrive&quot;
rclone authorize &quot;onedrive&quot;
Then paste the result.
Enter a value.
config_token&gt;</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 &quot;onedrive&quot;
If your browser doesn&#39;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 &quot;http://localhost:53682/&quot; in your custom config.
NOTICE: If your browser doesn&#39;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 ---&gt;
SECRET_TOKEN
&lt;---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&gt; 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&gt;</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&gt; 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&gt; y
NOTICE: Make sure your Redirect URL is set to &quot;http://localhost:53682/&quot; in your custom config.
NOTICE: If your browser doesn&#39;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 &quot;rclone/v1.71.1&quot;)</code></pre>
--user-agent string Set the user-agent to a specified string (default &quot;rclone/v1.71.2&quot;)</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&gt; 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&gt; 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&gt; 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
\ &quot;us-east1&quot;
13 / Northern Virginia.
\ &quot;us-east4&quot;
14 / Oregon.
14 / Ohio.
\ &quot;us-east5&quot;
15 / Oregon.
\ &quot;us-west1&quot;
location&gt; 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&gt; 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&gt; 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&gt; 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&gt; 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&gt; 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&gt; </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&gt; 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&gt; 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&gt; </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
View File

@@ -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
View File

@@ -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

View File

@@ -1 +1 @@
v1.71.1
v1.71.2

View File

@@ -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)

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View 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)
}
})
}
}

View File

@@ -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

View File

@@ -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")
}
}

View File

@@ -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()
}

View File

@@ -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
}

View File

@@ -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/" >}}

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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")
```

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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 -->

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -1 +1 @@
v1.71.1
v1.71.2

View File

@@ -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)

View File

@@ -1,4 +1,4 @@
package fs
// VersionTag of rclone
var VersionTag = "v1.71.1"
var VersionTag = "v1.71.2"

12
go.mod
View File

@@ -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
View File

@@ -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=

View File

@@ -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.

View File

@@ -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

View File

@@ -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
View File

@@ -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)