mirror of
https://github.com/rclone/rclone.git
synced 2025-12-11 22:03:17 +00:00
Compare commits
8 Commits
feat/cache
...
v1.70.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
948db193a2 | ||
|
|
72bc3f5079 | ||
|
|
bf8a428fbd | ||
|
|
05cc6f829b | ||
|
|
af73833773 | ||
|
|
3167a63780 | ||
|
|
1d9795daa6 | ||
|
|
03ea89adf0 |
60
MANUAL.html
generated
60
MANUAL.html
generated
@@ -81,7 +81,7 @@
|
|||||||
<header id="title-block-header">
|
<header id="title-block-header">
|
||||||
<h1 class="title">rclone(1) User Manual</h1>
|
<h1 class="title">rclone(1) User Manual</h1>
|
||||||
<p class="author">Nick Craig-Wood</p>
|
<p class="author">Nick Craig-Wood</p>
|
||||||
<p class="date">Jun 17, 2025</p>
|
<p class="date">Jun 19, 2025</p>
|
||||||
</header>
|
</header>
|
||||||
<h1 id="name">NAME</h1>
|
<h1 id="name">NAME</h1>
|
||||||
<p>rclone - manage files on cloud storage</p>
|
<p>rclone - manage files on cloud storage</p>
|
||||||
@@ -2682,15 +2682,15 @@ X-User-Defined </code></pre>
|
|||||||
<pre><code>rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo"
|
<pre><code>rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo"
|
||||||
// Output: stories/The Quick Brown Fox!.txt</code></pre>
|
// Output: stories/The Quick Brown Fox!.txt</code></pre>
|
||||||
<pre><code>rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
<pre><code>rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||||
// Output: stories/The Quick Brown Fox!-20250617</code></pre>
|
// Output: stories/The Quick Brown Fox!-20250618</code></pre>
|
||||||
<pre><code>rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
<pre><code>rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||||
// Output: stories/The Quick Brown Fox!-2025-06-17 0551PM</code></pre>
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM</code></pre>
|
||||||
<pre><code>rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
<pre><code>rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
||||||
// Output: ababababababab/ababab ababababab ababababab ababab!abababab</code></pre>
|
// Output: ababababababab/ababab ababababab ababababab ababab!abababab</code></pre>
|
||||||
<p>Multiple transformations can be used in sequence, applied in the order they are specified on the command line.</p>
|
<p>Multiple transformations can be used in sequence, applied in the order they are specified on the command line.</p>
|
||||||
<p>The <code>--name-transform</code> flag is also available in <code>sync</code>, <code>copy</code>, and <code>move</code>.</p>
|
<p>The <code>--name-transform</code> flag is also available in <code>sync</code>, <code>copy</code>, and <code>move</code>.</p>
|
||||||
<h1 id="files-vs-directories">Files vs Directories</h1>
|
<h1 id="files-vs-directories">Files vs Directories</h1>
|
||||||
<p>By default <code>--name-transform</code> will only apply to file names. The means only the leaf file name will be transformed. However some of the transforms would be better applied to the whole path or just directories. To choose which which part of the file path is affected some tags can be added to the <code>--name-transform</code></p>
|
<p>By default <code>--name-transform</code> will only apply to file names. The means only the leaf file name will be transformed. However some of the transforms would be better applied to the whole path or just directories. To choose which which part of the file path is affected some tags can be added to the <code>--name-transform</code>.</p>
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 50%" />
|
<col style="width: 50%" />
|
||||||
@@ -2718,7 +2718,7 @@ X-User-Defined </code></pre>
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p>This is used by adding the tag into the transform name like this: <code>--name-transform file,prefix=ABC</code> or <code>--name-transform dir,prefix=DEF</code>.</p>
|
<p>This is used by adding the tag into the transform name like this: <code>--name-transform file,prefix=ABC</code> or <code>--name-transform dir,prefix=DEF</code>.</p>
|
||||||
<p>For some conversions using all is more likely to be useful, for example <code>--name-transform all,nfc</code></p>
|
<p>For some conversions using all is more likely to be useful, for example <code>--name-transform all,nfc</code>.</p>
|
||||||
<p>Note that <code>--name-transform</code> may not add path separators <code>/</code> to the name. This will cause an error.</p>
|
<p>Note that <code>--name-transform</code> may not add path separators <code>/</code> to the name. This will cause an error.</p>
|
||||||
<h1 id="ordering-and-conflicts">Ordering and Conflicts</h1>
|
<h1 id="ordering-and-conflicts">Ordering and Conflicts</h1>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -2739,16 +2739,7 @@ X-User-Defined </code></pre>
|
|||||||
</ul>
|
</ul>
|
||||||
<h1 id="race-conditions-and-non-deterministic-behavior">Race Conditions and Non-Deterministic Behavior</h1>
|
<h1 id="race-conditions-and-non-deterministic-behavior">Race Conditions and Non-Deterministic Behavior</h1>
|
||||||
<p>Some transformations, such as <code>replace=old:new</code>, may introduce conflicts where multiple source files map to the same destination name. This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these. * If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic. * Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.</p>
|
<p>Some transformations, such as <code>replace=old:new</code>, may introduce conflicts where multiple source files map to the same destination name. This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these. * If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic. * Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.</p>
|
||||||
<ul>
|
<p>To minimize risks, users should: * Carefully review transformations that may introduce conflicts. * Use <code>--dry-run</code> to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations). * Avoid transformations that cause multiple distinct source files to map to the same destination name. * Consider disabling concurrency with <code>--transfers=1</code> if necessary. * Certain transformations (e.g. <code>prefix</code>) will have a multiplying effect every time they are used. Avoid these when using <code>bisync</code>.</p>
|
||||||
<li>To minimize risks, users should:
|
|
||||||
<ul>
|
|
||||||
<li>Carefully review transformations that may introduce conflicts.</li>
|
|
||||||
<li>Use <code>--dry-run</code> to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).</li>
|
|
||||||
<li>Avoid transformations that cause multiple distinct source files to map to the same destination name.</li>
|
|
||||||
<li>Consider disabling concurrency with <code>--transfers=1</code> if necessary.</li>
|
|
||||||
<li>Certain transformations (e.g. <code>prefix</code>) will have a multiplying effect every time they are used. Avoid these when using <code>bisync</code>.</li>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
<pre><code>rclone convmv dest:path --name-transform XXX [flags]</code></pre>
|
<pre><code>rclone convmv dest:path --name-transform XXX [flags]</code></pre>
|
||||||
<h2 id="options-48">Options</h2>
|
<h2 id="options-48">Options</h2>
|
||||||
<pre><code> --create-empty-src-dirs Create empty source dirs on destination after move
|
<pre><code> --create-empty-src-dirs Create empty source dirs on destination after move
|
||||||
@@ -13239,7 +13230,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
|
|||||||
--tpslimit float Limit HTTP transactions per second to this
|
--tpslimit float Limit HTTP transactions per second to this
|
||||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||||
--use-cookies Enable session cookiejar
|
--use-cookies Enable session cookiejar
|
||||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.0")</code></pre>
|
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.1")</code></pre>
|
||||||
<h2 id="performance">Performance</h2>
|
<h2 id="performance">Performance</h2>
|
||||||
<p>Flags helpful for increasing performance.</p>
|
<p>Flags helpful for increasing performance.</p>
|
||||||
<pre><code> --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi)
|
<pre><code> --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi)
|
||||||
@@ -13661,6 +13652,7 @@ Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don't check the upload is OK
|
--ftp-no-check-upload Don't check the upload is OK
|
||||||
@@ -21368,6 +21360,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="box-client-credentials">--box-client-credentials</h4>
|
<h4 id="box-client-credentials">--box-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -22622,6 +22615,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="sharefile-client-credentials">--sharefile-client-credentials</h4>
|
<h4 id="sharefile-client-credentials">--sharefile-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -23395,7 +23389,7 @@ upstreams = "My Drive=My Drive:" "Test Drive=Test Drive:"</c
|
|||||||
<p>See the <a href="https://rclone.org/docs/#metadata">metadata</a> docs for more info.</p>
|
<p>See the <a href="https://rclone.org/docs/#metadata">metadata</a> docs for more info.</p>
|
||||||
<h1 id="doi">DOI</h1>
|
<h1 id="doi">DOI</h1>
|
||||||
<p>The DOI remote is a read only remote for reading files from digital object identifiers (DOI).</p>
|
<p>The DOI remote is a read only remote for reading files from digital object identifiers (DOI).</p>
|
||||||
<p>Currently, the DOI backend supports supports DOIs hosted with: - <a href="https://inveniosoftware.org/products/rdm/">InvenioRDM</a> - <a href="https://zenodo.org">Zenodo</a> - <a href="https://data.caltech.edu">CaltechDATA</a> - <a href="https://inveniosoftware.org/showcase/">Other InvenioRDM repositories</a> - <a href="https://dataverse.org">Dataverse</a> - <a href="https://dataverse.harvard.edu">Harvard Dataverse</a> - <a href="https://dataverse.org/installations">Other Dataverse repositories</a></p>
|
<p>Currently, the DOI backend supports DOIs hosted with: - <a href="https://inveniosoftware.org/products/rdm/">InvenioRDM</a> - <a href="https://zenodo.org">Zenodo</a> - <a href="https://data.caltech.edu">CaltechDATA</a> - <a href="https://inveniosoftware.org/showcase/">Other InvenioRDM repositories</a> - <a href="https://dataverse.org">Dataverse</a> - <a href="https://dataverse.harvard.edu">Harvard Dataverse</a> - <a href="https://dataverse.org/installations">Other Dataverse repositories</a></p>
|
||||||
<p>Paths are specified as <code>remote:path</code></p>
|
<p>Paths are specified as <code>remote:path</code></p>
|
||||||
<p>Paths may be as deep as required, e.g. <code>remote:directory/subdirectory</code>.</p>
|
<p>Paths may be as deep as required, e.g. <code>remote:directory/subdirectory</code>.</p>
|
||||||
<h2 id="configuration-12">Configuration</h2>
|
<h2 id="configuration-12">Configuration</h2>
|
||||||
@@ -23756,6 +23750,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="dropbox-client-credentials">--dropbox-client-credentials</h4>
|
<h4 id="dropbox-client-credentials">--dropbox-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -24724,6 +24719,16 @@ rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47
|
|||||||
<li>Type: string</li>
|
<li>Type: string</li>
|
||||||
<li>Required: false</li>
|
<li>Required: false</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<h4 id="ftp-http-proxy">--ftp-http-proxy</h4>
|
||||||
|
<p>URL for HTTP CONNECT proxy</p>
|
||||||
|
<p>Set this to a URL for an HTTP proxy which supports the HTTP CONNECT verb.</p>
|
||||||
|
<p>Properties:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Config: http_proxy</li>
|
||||||
|
<li>Env Var: RCLONE_FTP_HTTP_PROXY</li>
|
||||||
|
<li>Type: string</li>
|
||||||
|
<li>Required: false</li>
|
||||||
|
</ul>
|
||||||
<h4 id="ftp-no-check-upload">--ftp-no-check-upload</h4>
|
<h4 id="ftp-no-check-upload">--ftp-no-check-upload</h4>
|
||||||
<p>Don't check the upload is OK</p>
|
<p>Don't check the upload is OK</p>
|
||||||
<p>Normally rclone will try to check the upload exists after it has uploaded a file to make sure the size and modification time are as expected.</p>
|
<p>Normally rclone will try to check the upload exists after it has uploaded a file to make sure the size and modification time are as expected.</p>
|
||||||
@@ -25651,6 +25656,7 @@ ya29.c.c0ASRK0GbAFEewXD [truncated]</code></pre>
|
|||||||
<h4 id="gcs-client-credentials">--gcs-client-credentials</h4>
|
<h4 id="gcs-client-credentials">--gcs-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -26354,6 +26360,7 @@ trashed=false and 'c' in parents</code></pre>
|
|||||||
<h4 id="drive-client-credentials">--drive-client-credentials</h4>
|
<h4 id="drive-client-credentials">--drive-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -27429,6 +27436,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="gphotos-client-credentials">--gphotos-client-credentials</h4>
|
<h4 id="gphotos-client-credentials">--gphotos-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -28151,6 +28159,7 @@ rclone lsd remote:/users/test/path</code></pre>
|
|||||||
<h4 id="hidrive-client-credentials">--hidrive-client-credentials</h4>
|
<h4 id="hidrive-client-credentials">--hidrive-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -29403,6 +29412,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="jottacloud-client-credentials">--jottacloud-client-credentials</h4>
|
<h4 id="jottacloud-client-credentials">--jottacloud-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -30162,6 +30172,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="mailru-client-credentials">--mailru-client-credentials</h4>
|
<h4 id="mailru-client-credentials">--mailru-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -32302,6 +32313,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="onedrive-client-credentials">--onedrive-client-credentials</h4>
|
<h4 id="onedrive-client-credentials">--onedrive-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -35077,6 +35089,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="pcloud-client-credentials">--pcloud-client-credentials</h4>
|
<h4 id="pcloud-client-credentials">--pcloud-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -35686,6 +35699,7 @@ y/e/d> </code></pre>
|
|||||||
<h4 id="premiumizeme-client-credentials">--premiumizeme-client-credentials</h4>
|
<h4 id="premiumizeme-client-credentials">--premiumizeme-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -36077,6 +36091,7 @@ e/n/d/r/c/s/q> q</code></pre>
|
|||||||
<h4 id="putio-client-credentials">--putio-client-credentials</h4>
|
<h4 id="putio-client-credentials">--putio-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -39099,6 +39114,7 @@ y/e/d> y</code></pre>
|
|||||||
<h4 id="yandex-client-credentials">--yandex-client-credentials</h4>
|
<h4 id="yandex-client-credentials">--yandex-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -39322,6 +39338,7 @@ y/e/d> </code></pre>
|
|||||||
<h4 id="zoho-client-credentials">--zoho-client-credentials</h4>
|
<h4 id="zoho-client-credentials">--zoho-client-credentials</h4>
|
||||||
<p>Use client credentials OAuth flow.</p>
|
<p>Use client credentials OAuth flow.</p>
|
||||||
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
<p>This will use the OAUTH2 client Credentials Flow as described in RFC 6749.</p>
|
||||||
|
<p>Note that this option is NOT supported by all backends.</p>
|
||||||
<p>Properties:</p>
|
<p>Properties:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Config: client_credentials</li>
|
<li>Config: client_credentials</li>
|
||||||
@@ -40062,6 +40079,15 @@ $ tree /tmp/c
|
|||||||
<li>"error": return an error based on option value</li>
|
<li>"error": return an error based on option value</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h1 id="changelog-1">Changelog</h1>
|
<h1 id="changelog-1">Changelog</h1>
|
||||||
|
<h2 id="v1.70.1---2025-06-19">v1.70.1 - 2025-06-19</h2>
|
||||||
|
<p><a href="https://github.com/rclone/rclone/compare/v1.70.0...v1.70.1">See commits</a></p>
|
||||||
|
<ul>
|
||||||
|
<li>Bug Fixes
|
||||||
|
<ul>
|
||||||
|
<li>convmv: Fix spurious "error running command echo" on Windows (Nick Craig-Wood)</li>
|
||||||
|
<li>doc fixes (albertony, Ed Craig-Wood, jinjingroad)</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
<h2 id="v1.70.0---2025-06-17">v1.70.0 - 2025-06-17</h2>
|
<h2 id="v1.70.0---2025-06-17">v1.70.0 - 2025-06-17</h2>
|
||||||
<p><a href="https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0">See commits</a></p>
|
<p><a href="https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0">See commits</a></p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
77
MANUAL.md
generated
77
MANUAL.md
generated
@@ -1,6 +1,6 @@
|
|||||||
% rclone(1) User Manual
|
% rclone(1) User Manual
|
||||||
% Nick Craig-Wood
|
% Nick Craig-Wood
|
||||||
% Jun 17, 2025
|
% Jun 19, 2025
|
||||||
|
|
||||||
# NAME
|
# NAME
|
||||||
|
|
||||||
@@ -4452,12 +4452,12 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=e
|
|||||||
|
|
||||||
```
|
```
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||||
// Output: stories/The Quick Brown Fox!-20250617
|
// Output: stories/The Quick Brown Fox!-20250618
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||||
// Output: stories/The Quick Brown Fox!-2025-06-17 0551PM
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -4465,17 +4465,15 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\
|
|||||||
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
||||||
|
|
||||||
The `--name-transform` flag is also available in `sync`, `copy`, and `move`.
|
The `--name-transform` flag is also available in `sync`, `copy`, and `move`.
|
||||||
|
|
||||||
# Files vs Directories ##
|
# Files vs Directories
|
||||||
|
|
||||||
By default `--name-transform` will only apply to file names. The means only the leaf file name will be transformed.
|
By default `--name-transform` will only apply to file names. The means only the leaf file name will be transformed.
|
||||||
However some of the transforms would be better applied to the whole path or just directories.
|
However some of the transforms would be better applied to the whole path or just directories.
|
||||||
To choose which which part of the file path is affected some tags can be added to the `--name-transform`
|
To choose which which part of the file path is affected some tags can be added to the `--name-transform`.
|
||||||
|
|
||||||
| Tag | Effect |
|
| Tag | Effect |
|
||||||
|------|------|
|
|------|------|
|
||||||
@@ -4485,11 +4483,11 @@ To choose which which part of the file path is affected some tags can be added t
|
|||||||
|
|
||||||
This is used by adding the tag into the transform name like this: `--name-transform file,prefix=ABC` or `--name-transform dir,prefix=DEF`.
|
This is used by adding the tag into the transform name like this: `--name-transform file,prefix=ABC` or `--name-transform dir,prefix=DEF`.
|
||||||
|
|
||||||
For some conversions using all is more likely to be useful, for example `--name-transform all,nfc`
|
For some conversions using all is more likely to be useful, for example `--name-transform all,nfc`.
|
||||||
|
|
||||||
Note that `--name-transform` may not add path separators `/` to the name. This will cause an error.
|
Note that `--name-transform` may not add path separators `/` to the name. This will cause an error.
|
||||||
|
|
||||||
# Ordering and Conflicts ##
|
# Ordering and Conflicts
|
||||||
|
|
||||||
* Transformations will be applied in the order specified by the user.
|
* Transformations will be applied in the order specified by the user.
|
||||||
* If the `file` tag is in use (the default) then only the leaf name of files will be transformed.
|
* If the `file` tag is in use (the default) then only the leaf name of files will be transformed.
|
||||||
@@ -4504,14 +4502,14 @@ user, allowing for intentional use cases (e.g., trimming one prefix before addin
|
|||||||
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
||||||
transformations using `--dry-run` before execution.
|
transformations using `--dry-run` before execution.
|
||||||
|
|
||||||
# Race Conditions and Non-Deterministic Behavior ##
|
# Race Conditions and Non-Deterministic Behavior
|
||||||
|
|
||||||
Some transformations, such as `replace=old:new`, may introduce conflicts where multiple source files map to the same destination name.
|
Some transformations, such as `replace=old:new`, may introduce conflicts where multiple source files map to the same destination name.
|
||||||
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
||||||
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
||||||
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
||||||
|
|
||||||
* To minimize risks, users should:
|
To minimize risks, users should:
|
||||||
* Carefully review transformations that may introduce conflicts.
|
* Carefully review transformations that may introduce conflicts.
|
||||||
* Use `--dry-run` to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
* Use `--dry-run` to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
||||||
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
||||||
@@ -22400,7 +22398,7 @@ Flags for general networking and HTTP stuff.
|
|||||||
--tpslimit float Limit HTTP transactions per second to this
|
--tpslimit float Limit HTTP transactions per second to this
|
||||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||||
--use-cookies Enable session cookiejar
|
--use-cookies Enable session cookiejar
|
||||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.0")
|
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.1")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -22882,6 +22880,7 @@ Backend-only flags (these can be set in the config file also).
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don't check the upload is OK
|
--ftp-no-check-upload Don't check the upload is OK
|
||||||
@@ -33549,6 +33548,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -35368,6 +35369,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -36631,7 +36634,7 @@ See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
|
|||||||
|
|
||||||
The DOI remote is a read only remote for reading files from digital object identifiers (DOI).
|
The DOI remote is a read only remote for reading files from digital object identifiers (DOI).
|
||||||
|
|
||||||
Currently, the DOI backend supports supports DOIs hosted with:
|
Currently, the DOI backend supports DOIs hosted with:
|
||||||
- [InvenioRDM](https://inveniosoftware.org/products/rdm/)
|
- [InvenioRDM](https://inveniosoftware.org/products/rdm/)
|
||||||
- [Zenodo](https://zenodo.org)
|
- [Zenodo](https://zenodo.org)
|
||||||
- [CaltechDATA](https://data.caltech.edu)
|
- [CaltechDATA](https://data.caltech.edu)
|
||||||
@@ -37110,6 +37113,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -38548,6 +38553,20 @@ Properties:
|
|||||||
- Type: string
|
- Type: string
|
||||||
- Required: false
|
- Required: false
|
||||||
|
|
||||||
|
#### --ftp-http-proxy
|
||||||
|
|
||||||
|
URL for HTTP CONNECT proxy
|
||||||
|
|
||||||
|
Set this to a URL for an HTTP proxy which supports the HTTP CONNECT verb.
|
||||||
|
|
||||||
|
|
||||||
|
Properties:
|
||||||
|
|
||||||
|
- Config: http_proxy
|
||||||
|
- Env Var: RCLONE_FTP_HTTP_PROXY
|
||||||
|
- Type: string
|
||||||
|
- Required: false
|
||||||
|
|
||||||
#### --ftp-no-check-upload
|
#### --ftp-no-check-upload
|
||||||
|
|
||||||
Don't check the upload is OK
|
Don't check the upload is OK
|
||||||
@@ -39591,6 +39610,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -40404,6 +40425,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -41939,6 +41962,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -43128,6 +43153,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -44697,6 +44724,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -45573,6 +45602,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -48559,6 +48590,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -52187,6 +52220,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -52988,6 +53023,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -53584,6 +53621,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -58004,6 +58043,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -58304,6 +58345,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -59071,6 +59114,14 @@ Options:
|
|||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.70.1 - 2025-06-19
|
||||||
|
|
||||||
|
[See commits](https://github.com/rclone/rclone/compare/v1.70.0...v1.70.1)
|
||||||
|
|
||||||
|
* Bug Fixes
|
||||||
|
* convmv: Fix spurious "error running command echo" on Windows (Nick Craig-Wood)
|
||||||
|
* doc fixes (albertony, Ed Craig-Wood, jinjingroad)
|
||||||
|
|
||||||
## v1.70.0 - 2025-06-17
|
## v1.70.0 - 2025-06-17
|
||||||
|
|
||||||
[See commits](https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
[See commits](https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
||||||
|
|||||||
90
MANUAL.txt
generated
90
MANUAL.txt
generated
@@ -1,6 +1,6 @@
|
|||||||
rclone(1) User Manual
|
rclone(1) User Manual
|
||||||
Nick Craig-Wood
|
Nick Craig-Wood
|
||||||
Jun 17, 2025
|
Jun 19, 2025
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
|
|
||||||
@@ -4145,10 +4145,10 @@ Examples:
|
|||||||
// Output: stories/The Quick Brown Fox!.txt
|
// Output: stories/The Quick Brown Fox!.txt
|
||||||
|
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||||
// Output: stories/The Quick Brown Fox!-20250617
|
// Output: stories/The Quick Brown Fox!-20250618
|
||||||
|
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||||
// Output: stories/The Quick Brown Fox!-2025-06-17 0551PM
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
|
||||||
|
|
||||||
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
||||||
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
||||||
@@ -4164,7 +4164,7 @@ By default --name-transform will only apply to file names. The means
|
|||||||
only the leaf file name will be transformed. However some of the
|
only the leaf file name will be transformed. However some of the
|
||||||
transforms would be better applied to the whole path or just
|
transforms would be better applied to the whole path or just
|
||||||
directories. To choose which which part of the file path is affected
|
directories. To choose which which part of the file path is affected
|
||||||
some tags can be added to the --name-transform
|
some tags can be added to the --name-transform.
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
Tag Effect
|
Tag Effect
|
||||||
@@ -4184,7 +4184,7 @@ This is used by adding the tag into the transform name like this:
|
|||||||
--name-transform file,prefix=ABC or --name-transform dir,prefix=DEF.
|
--name-transform file,prefix=ABC or --name-transform dir,prefix=DEF.
|
||||||
|
|
||||||
For some conversions using all is more likely to be useful, for example
|
For some conversions using all is more likely to be useful, for example
|
||||||
--name-transform all,nfc
|
--name-transform all,nfc.
|
||||||
|
|
||||||
Note that --name-transform may not add path separators / to the name.
|
Note that --name-transform may not add path separators / to the name.
|
||||||
This will cause an error.
|
This will cause an error.
|
||||||
@@ -4223,16 +4223,14 @@ be non-deterministic. * Running rclone check after a sync using such
|
|||||||
transformations may erroneously report missing or differing files due to
|
transformations may erroneously report missing or differing files due to
|
||||||
overwritten results.
|
overwritten results.
|
||||||
|
|
||||||
- To minimize risks, users should:
|
To minimize risks, users should: * Carefully review transformations that
|
||||||
- Carefully review transformations that may introduce conflicts.
|
may introduce conflicts. * Use --dry-run to inspect changes before
|
||||||
- Use --dry-run to inspect changes before executing a sync (but
|
executing a sync (but keep in mind that it won't show the effect of
|
||||||
keep in mind that it won't show the effect of non-deterministic
|
non-deterministic transformations). * Avoid transformations that cause
|
||||||
transformations).
|
multiple distinct source files to map to the same destination name. *
|
||||||
- Avoid transformations that cause multiple distinct source files
|
Consider disabling concurrency with --transfers=1 if necessary. *
|
||||||
to map to the same destination name.
|
Certain transformations (e.g. prefix) will have a multiplying effect
|
||||||
- Consider disabling concurrency with --transfers=1 if necessary.
|
every time they are used. Avoid these when using bisync.
|
||||||
- Certain transformations (e.g. prefix) will have a multiplying
|
|
||||||
effect every time they are used. Avoid these when using bisync.
|
|
||||||
|
|
||||||
rclone convmv dest:path --name-transform XXX [flags]
|
rclone convmv dest:path --name-transform XXX [flags]
|
||||||
|
|
||||||
@@ -21961,7 +21959,7 @@ Flags for general networking and HTTP stuff.
|
|||||||
--tpslimit float Limit HTTP transactions per second to this
|
--tpslimit float Limit HTTP transactions per second to this
|
||||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||||
--use-cookies Enable session cookiejar
|
--use-cookies Enable session cookiejar
|
||||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.0")
|
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.1")
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
|
|
||||||
@@ -22413,6 +22411,7 @@ Backend-only flags (these can be set in the config file also).
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don't check the upload is OK
|
--ftp-no-check-upload Don't check the upload is OK
|
||||||
@@ -32909,6 +32908,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -34747,6 +34748,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -35978,9 +35981,9 @@ DOI
|
|||||||
The DOI remote is a read only remote for reading files from digital
|
The DOI remote is a read only remote for reading files from digital
|
||||||
object identifiers (DOI).
|
object identifiers (DOI).
|
||||||
|
|
||||||
Currently, the DOI backend supports supports DOIs hosted with: -
|
Currently, the DOI backend supports DOIs hosted with: - InvenioRDM -
|
||||||
InvenioRDM - Zenodo - CaltechDATA - Other InvenioRDM repositories -
|
Zenodo - CaltechDATA - Other InvenioRDM repositories - Dataverse -
|
||||||
Dataverse - Harvard Dataverse - Other Dataverse repositories
|
Harvard Dataverse - Other Dataverse repositories
|
||||||
|
|
||||||
Paths are specified as remote:path
|
Paths are specified as remote:path
|
||||||
|
|
||||||
@@ -36438,6 +36441,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -37853,6 +37858,20 @@ Properties:
|
|||||||
- Type: string
|
- Type: string
|
||||||
- Required: false
|
- Required: false
|
||||||
|
|
||||||
|
--ftp-http-proxy
|
||||||
|
|
||||||
|
URL for HTTP CONNECT proxy
|
||||||
|
|
||||||
|
Set this to a URL for an HTTP proxy which supports the HTTP CONNECT
|
||||||
|
verb.
|
||||||
|
|
||||||
|
Properties:
|
||||||
|
|
||||||
|
- Config: http_proxy
|
||||||
|
- Env Var: RCLONE_FTP_HTTP_PROXY
|
||||||
|
- Type: string
|
||||||
|
- Required: false
|
||||||
|
|
||||||
--ftp-no-check-upload
|
--ftp-no-check-upload
|
||||||
|
|
||||||
Don't check the upload is OK
|
Don't check the upload is OK
|
||||||
@@ -38891,6 +38910,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -39745,6 +39766,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -41311,6 +41334,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -42487,6 +42512,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -44163,6 +44190,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -45064,6 +45093,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -48114,6 +48145,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -51840,6 +51873,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -52644,6 +52679,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -53228,6 +53265,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -57679,6 +57718,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -57974,6 +58015,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
@@ -58734,6 +58777,15 @@ Options:
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
v1.70.1 - 2025-06-19
|
||||||
|
|
||||||
|
See commits
|
||||||
|
|
||||||
|
- Bug Fixes
|
||||||
|
- convmv: Fix spurious "error running command echo" on Windows
|
||||||
|
(Nick Craig-Wood)
|
||||||
|
- doc fixes (albertony, Ed Craig-Wood, jinjingroad)
|
||||||
|
|
||||||
v1.70.0 - 2025-06-17
|
v1.70.0 - 2025-06-17
|
||||||
|
|
||||||
See commits
|
See commits
|
||||||
|
|||||||
@@ -922,7 +922,7 @@ func (o *Object) setMetadata(resp *file.GetPropertiesResponse) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// readMetaData gets the metadata if it hasn't already been fetched
|
// getMetadata gets the metadata if it hasn't already been fetched
|
||||||
func (o *Object) getMetadata(ctx context.Context) error {
|
func (o *Object) getMetadata(ctx context.Context) error {
|
||||||
resp, err := o.fileClient().GetProperties(ctx, nil)
|
resp, err := o.fileClient().GetProperties(ctx, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -34,17 +34,15 @@ var commandDefinition = &cobra.Command{
|
|||||||
Long: strings.ReplaceAll(`
|
Long: strings.ReplaceAll(`
|
||||||
convmv supports advanced path name transformations for converting and renaming files and directories by applying prefixes, suffixes, and other alterations.
|
convmv supports advanced path name transformations for converting and renaming files and directories by applying prefixes, suffixes, and other alterations.
|
||||||
|
|
||||||
`+transform.SprintList()+`
|
`+transform.Help()+`Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
||||||
|
|
||||||
Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
|
||||||
|
|
||||||
The ¡--name-transform¡ flag is also available in ¡sync¡, ¡copy¡, and ¡move¡.
|
The ¡--name-transform¡ flag is also available in ¡sync¡, ¡copy¡, and ¡move¡.
|
||||||
|
|
||||||
## Files vs Directories ##
|
## Files vs Directories
|
||||||
|
|
||||||
By default ¡--name-transform¡ will only apply to file names. The means only the leaf file name will be transformed.
|
By default ¡--name-transform¡ will only apply to file names. The means only the leaf file name will be transformed.
|
||||||
However some of the transforms would be better applied to the whole path or just directories.
|
However some of the transforms would be better applied to the whole path or just directories.
|
||||||
To choose which which part of the file path is affected some tags can be added to the ¡--name-transform¡
|
To choose which which part of the file path is affected some tags can be added to the ¡--name-transform¡.
|
||||||
|
|
||||||
| Tag | Effect |
|
| Tag | Effect |
|
||||||
|------|------|
|
|------|------|
|
||||||
@@ -54,11 +52,11 @@ To choose which which part of the file path is affected some tags can be added t
|
|||||||
|
|
||||||
This is used by adding the tag into the transform name like this: ¡--name-transform file,prefix=ABC¡ or ¡--name-transform dir,prefix=DEF¡.
|
This is used by adding the tag into the transform name like this: ¡--name-transform file,prefix=ABC¡ or ¡--name-transform dir,prefix=DEF¡.
|
||||||
|
|
||||||
For some conversions using all is more likely to be useful, for example ¡--name-transform all,nfc¡
|
For some conversions using all is more likely to be useful, for example ¡--name-transform all,nfc¡.
|
||||||
|
|
||||||
Note that ¡--name-transform¡ may not add path separators ¡/¡ to the name. This will cause an error.
|
Note that ¡--name-transform¡ may not add path separators ¡/¡ to the name. This will cause an error.
|
||||||
|
|
||||||
## Ordering and Conflicts ##
|
## Ordering and Conflicts
|
||||||
|
|
||||||
* Transformations will be applied in the order specified by the user.
|
* Transformations will be applied in the order specified by the user.
|
||||||
* If the ¡file¡ tag is in use (the default) then only the leaf name of files will be transformed.
|
* If the ¡file¡ tag is in use (the default) then only the leaf name of files will be transformed.
|
||||||
@@ -73,14 +71,14 @@ user, allowing for intentional use cases (e.g., trimming one prefix before addin
|
|||||||
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
||||||
transformations using ¡--dry-run¡ before execution.
|
transformations using ¡--dry-run¡ before execution.
|
||||||
|
|
||||||
## Race Conditions and Non-Deterministic Behavior ##
|
## Race Conditions and Non-Deterministic Behavior
|
||||||
|
|
||||||
Some transformations, such as ¡replace=old:new¡, may introduce conflicts where multiple source files map to the same destination name.
|
Some transformations, such as ¡replace=old:new¡, may introduce conflicts where multiple source files map to the same destination name.
|
||||||
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
||||||
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
||||||
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
||||||
|
|
||||||
* To minimize risks, users should:
|
To minimize risks, users should:
|
||||||
* Carefully review transformations that may introduce conflicts.
|
* Carefully review transformations that may introduce conflicts.
|
||||||
* Use ¡--dry-run¡ to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
* Use ¡--dry-run¡ to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
||||||
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
||||||
|
|||||||
@@ -390,6 +390,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -5,6 +5,14 @@ description: "Rclone Changelog"
|
|||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v1.70.1 - 2025-06-19
|
||||||
|
|
||||||
|
[See commits](https://github.com/rclone/rclone/compare/v1.70.0...v1.70.1)
|
||||||
|
|
||||||
|
* Bug Fixes
|
||||||
|
* convmv: Fix spurious "error running command echo" on Windows (Nick Craig-Wood)
|
||||||
|
* doc fixes (albertony, Ed Craig-Wood, jinjingroad)
|
||||||
|
|
||||||
## v1.70.0 - 2025-06-17
|
## v1.70.0 - 2025-06-17
|
||||||
|
|
||||||
[See commits](https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
[See commits](https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
||||||
|
|||||||
@@ -339,6 +339,7 @@ rclone [flags]
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don't check the upload is OK
|
--ftp-no-check-upload Don't check the upload is OK
|
||||||
@@ -997,7 +998,7 @@ rclone [flags]
|
|||||||
--use-json-log Use json log format
|
--use-json-log Use json log format
|
||||||
--use-mmap Use mmap allocator (see docs)
|
--use-mmap Use mmap allocator (see docs)
|
||||||
--use-server-modtime Use server modified time instead of object metadata
|
--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.70.0")
|
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.1")
|
||||||
-v, --verbose count Print lots more stuff (repeat for more)
|
-v, --verbose count Print lots more stuff (repeat for more)
|
||||||
-V, --version Print the version number
|
-V, --version Print the version number
|
||||||
--webdav-auth-redirect Preserve authentication on redirect
|
--webdav-auth-redirect Preserve authentication on redirect
|
||||||
|
|||||||
@@ -221,12 +221,12 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=e
|
|||||||
|
|
||||||
```
|
```
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||||
// Output: stories/The Quick Brown Fox!-20250617
|
// Output: stories/The Quick Brown Fox!-20250618
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||||
// Output: stories/The Quick Brown Fox!-2025-06-17 0551PM
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -234,17 +234,15 @@ rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\
|
|||||||
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
Multiple transformations can be used in sequence, applied in the order they are specified on the command line.
|
||||||
|
|
||||||
The `--name-transform` flag is also available in `sync`, `copy`, and `move`.
|
The `--name-transform` flag is also available in `sync`, `copy`, and `move`.
|
||||||
|
|
||||||
# Files vs Directories ##
|
# Files vs Directories
|
||||||
|
|
||||||
By default `--name-transform` will only apply to file names. The means only the leaf file name will be transformed.
|
By default `--name-transform` will only apply to file names. The means only the leaf file name will be transformed.
|
||||||
However some of the transforms would be better applied to the whole path or just directories.
|
However some of the transforms would be better applied to the whole path or just directories.
|
||||||
To choose which which part of the file path is affected some tags can be added to the `--name-transform`
|
To choose which which part of the file path is affected some tags can be added to the `--name-transform`.
|
||||||
|
|
||||||
| Tag | Effect |
|
| Tag | Effect |
|
||||||
|------|------|
|
|------|------|
|
||||||
@@ -254,11 +252,11 @@ To choose which which part of the file path is affected some tags can be added t
|
|||||||
|
|
||||||
This is used by adding the tag into the transform name like this: `--name-transform file,prefix=ABC` or `--name-transform dir,prefix=DEF`.
|
This is used by adding the tag into the transform name like this: `--name-transform file,prefix=ABC` or `--name-transform dir,prefix=DEF`.
|
||||||
|
|
||||||
For some conversions using all is more likely to be useful, for example `--name-transform all,nfc`
|
For some conversions using all is more likely to be useful, for example `--name-transform all,nfc`.
|
||||||
|
|
||||||
Note that `--name-transform` may not add path separators `/` to the name. This will cause an error.
|
Note that `--name-transform` may not add path separators `/` to the name. This will cause an error.
|
||||||
|
|
||||||
# Ordering and Conflicts ##
|
# Ordering and Conflicts
|
||||||
|
|
||||||
* Transformations will be applied in the order specified by the user.
|
* Transformations will be applied in the order specified by the user.
|
||||||
* If the `file` tag is in use (the default) then only the leaf name of files will be transformed.
|
* If the `file` tag is in use (the default) then only the leaf name of files will be transformed.
|
||||||
@@ -273,14 +271,14 @@ user, allowing for intentional use cases (e.g., trimming one prefix before addin
|
|||||||
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
* Users should be aware that certain combinations may lead to unexpected results and should verify
|
||||||
transformations using `--dry-run` before execution.
|
transformations using `--dry-run` before execution.
|
||||||
|
|
||||||
# Race Conditions and Non-Deterministic Behavior ##
|
# Race Conditions and Non-Deterministic Behavior
|
||||||
|
|
||||||
Some transformations, such as `replace=old:new`, may introduce conflicts where multiple source files map to the same destination name.
|
Some transformations, such as `replace=old:new`, may introduce conflicts where multiple source files map to the same destination name.
|
||||||
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
This can lead to race conditions when performing concurrent transfers. It is up to the user to anticipate these.
|
||||||
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
* If two files from the source are transformed into the same name at the destination, the final state may be non-deterministic.
|
||||||
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
* Running rclone check after a sync using such transformations may erroneously report missing or differing files due to overwritten results.
|
||||||
|
|
||||||
* To minimize risks, users should:
|
To minimize risks, users should:
|
||||||
* Carefully review transformations that may introduce conflicts.
|
* Carefully review transformations that may introduce conflicts.
|
||||||
* Use `--dry-run` to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
* Use `--dry-run` to inspect changes before executing a sync (but keep in mind that it won't show the effect of non-deterministic transformations).
|
||||||
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
* Avoid transformations that cause multiple distinct source files to map to the same destination name.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ versionIntroduced: "?"
|
|||||||
|
|
||||||
The DOI remote is a read only remote for reading files from digital object identifiers (DOI).
|
The DOI remote is a read only remote for reading files from digital object identifiers (DOI).
|
||||||
|
|
||||||
Currently, the DOI backend supports supports DOIs hosted with:
|
Currently, the DOI backend supports DOIs hosted with:
|
||||||
- [InvenioRDM](https://inveniosoftware.org/products/rdm/)
|
- [InvenioRDM](https://inveniosoftware.org/products/rdm/)
|
||||||
- [Zenodo](https://zenodo.org)
|
- [Zenodo](https://zenodo.org)
|
||||||
- [CaltechDATA](https://data.caltech.edu)
|
- [CaltechDATA](https://data.caltech.edu)
|
||||||
|
|||||||
@@ -699,6 +699,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -305,6 +305,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ Flags for general networking and HTTP stuff.
|
|||||||
--tpslimit float Limit HTTP transactions per second to this
|
--tpslimit float Limit HTTP transactions per second to this
|
||||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||||
--use-cookies Enable session cookiejar
|
--use-cookies Enable session cookiejar
|
||||||
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.0")
|
--user-agent string Set the user-agent to a specified string (default "rclone/v1.70.1")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -601,6 +601,7 @@ Backend-only flags (these can be set in the config file also).
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don't check the upload is OK
|
--ftp-no-check-upload Don't check the upload is OK
|
||||||
|
|||||||
@@ -433,6 +433,20 @@ Properties:
|
|||||||
- Type: string
|
- Type: string
|
||||||
- Required: false
|
- Required: false
|
||||||
|
|
||||||
|
#### --ftp-http-proxy
|
||||||
|
|
||||||
|
URL for HTTP CONNECT proxy
|
||||||
|
|
||||||
|
Set this to a URL for an HTTP proxy which supports the HTTP CONNECT verb.
|
||||||
|
|
||||||
|
|
||||||
|
Properties:
|
||||||
|
|
||||||
|
- Config: http_proxy
|
||||||
|
- Env Var: RCLONE_FTP_HTTP_PROXY
|
||||||
|
- Type: string
|
||||||
|
- Required: false
|
||||||
|
|
||||||
#### --ftp-no-check-upload
|
#### --ftp-no-check-upload
|
||||||
|
|
||||||
Don't check the upload is OK
|
Don't check the upload is OK
|
||||||
|
|||||||
@@ -679,6 +679,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -324,6 +324,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -288,6 +288,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -383,6 +383,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -300,6 +300,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -385,6 +385,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -230,6 +230,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -195,6 +195,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -192,6 +192,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -252,6 +252,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -192,6 +192,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -230,6 +230,8 @@ Use client credentials OAuth flow.
|
|||||||
|
|
||||||
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
This will use the OAUTH2 client Credentials Flow as described in RFC 6749.
|
||||||
|
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
|
||||||
Properties:
|
Properties:
|
||||||
|
|
||||||
- Config: client_credentials
|
- Config: client_credentials
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v1.70.0
|
v1.70.1
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package fs
|
package fs
|
||||||
|
|
||||||
// VersionTag of rclone
|
// VersionTag of rclone
|
||||||
var VersionTag = "v1.70.0"
|
var VersionTag = "v1.70.1"
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ var SharedOptions = []fs.Option{{
|
|||||||
}, {
|
}, {
|
||||||
Name: config.ConfigClientCredentials,
|
Name: config.ConfigClientCredentials,
|
||||||
Default: false,
|
Default: false,
|
||||||
Help: "Use client credentials OAuth flow.\n\nThis will use the OAUTH2 client Credentials Flow as described in RFC 6749.",
|
Help: "Use client credentials OAuth flow.\n\nThis will use the OAUTH2 client Credentials Flow as described in RFC 6749.\n\nNote that this option is NOT supported by all backends.",
|
||||||
Advanced: true,
|
Advanced: true,
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|||||||
@@ -14,10 +14,13 @@ var (
|
|||||||
lock sync.Mutex
|
lock sync.Mutex
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// CharmapChoices is an enum of the character map choices.
|
||||||
|
type CharmapChoices = fs.Enum[cmapChoices]
|
||||||
|
|
||||||
type cmapChoices struct{}
|
type cmapChoices struct{}
|
||||||
|
|
||||||
func (cmapChoices) Choices() []string {
|
func (cmapChoices) Choices() []string {
|
||||||
choices := make([]string, 1)
|
choices := []string{}
|
||||||
i := 0
|
i := 0
|
||||||
for _, enc := range charmap.All {
|
for _, enc := range charmap.All {
|
||||||
c, ok := enc.(*charmap.Charmap)
|
c, ok := enc.(*charmap.Charmap)
|
||||||
|
|||||||
@@ -1,12 +1,20 @@
|
|||||||
package transform
|
// Create the help text for transform
|
||||||
|
//
|
||||||
|
// Run with go generate (defined in transform.go)
|
||||||
|
//
|
||||||
|
//go:build none
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rclone/rclone/fs"
|
"github.com/rclone/rclone/fs"
|
||||||
"github.com/rclone/rclone/lib/encoder"
|
"github.com/rclone/rclone/lib/encoder"
|
||||||
|
"github.com/rclone/rclone/lib/transform"
|
||||||
)
|
)
|
||||||
|
|
||||||
type commands struct {
|
type commands struct {
|
||||||
@@ -43,7 +51,7 @@ var commandList = []commands{
|
|||||||
{command: "--name-transform nfd", description: "Converts the file name to NFD Unicode normalization form."},
|
{command: "--name-transform nfd", description: "Converts the file name to NFD Unicode normalization form."},
|
||||||
{command: "--name-transform nfkc", description: "Converts the file name to NFKC Unicode normalization form."},
|
{command: "--name-transform nfkc", description: "Converts the file name to NFKC Unicode normalization form."},
|
||||||
{command: "--name-transform nfkd", description: "Converts the file name to NFKD Unicode normalization form."},
|
{command: "--name-transform nfkd", description: "Converts the file name to NFKD Unicode normalization form."},
|
||||||
{command: "--name-transform command=/path/to/my/programfile names.", description: "Executes an external program to transform"},
|
{command: "--name-transform command=/path/to/my/programfile names.", description: "Executes an external program to transform."},
|
||||||
}
|
}
|
||||||
|
|
||||||
var examples = []example{
|
var examples = []example{
|
||||||
@@ -75,11 +83,11 @@ func (e example) command() string {
|
|||||||
|
|
||||||
func (e example) output() string {
|
func (e example) output() string {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
err := SetOptions(ctx, e.flags...)
|
err := transform.SetOptions(ctx, e.flags...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fs.Errorf(nil, "error generating help text: %v", err)
|
fs.Errorf(nil, "error generating help text: %v", err)
|
||||||
}
|
}
|
||||||
return Path(ctx, e.path, false)
|
return transform.Path(ctx, e.path, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// go run ./ convmv --help
|
// go run ./ convmv --help
|
||||||
@@ -98,43 +106,50 @@ func commandTable() string {
|
|||||||
for _, c := range commandList {
|
for _, c := range commandList {
|
||||||
s += fmt.Sprintf("\n| `%s` | %s |", c.command, c.description)
|
s += fmt.Sprintf("\n| `%s` | %s |", c.command, c.description)
|
||||||
}
|
}
|
||||||
s += "\n\n\n"
|
s += "\n\n"
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
var generatingHelpText bool
|
|
||||||
|
|
||||||
// SprintList returns the example help text as a string
|
// SprintList returns the example help text as a string
|
||||||
func SprintList() string {
|
func SprintList() string {
|
||||||
var algos transformAlgo
|
var algos transform.Algo
|
||||||
var charmaps fs.Enum[cmapChoices]
|
var charmaps transform.CharmapChoices
|
||||||
generatingHelpText = true
|
|
||||||
s := commandTable()
|
s := commandTable()
|
||||||
s += fmt.Sprintln("Conversion modes: \n```")
|
s += "Conversion modes:\n\n```\n"
|
||||||
for _, v := range algos.Choices() {
|
for _, v := range algos.Choices() {
|
||||||
s += fmt.Sprintln(v + " ")
|
s += v + "\n"
|
||||||
}
|
}
|
||||||
s += fmt.Sprintln("```")
|
s += "```\n\n"
|
||||||
|
|
||||||
s += fmt.Sprintln("Char maps: \n```")
|
s += "Char maps:\n\n```\n"
|
||||||
for _, v := range charmaps.Choices() {
|
for _, v := range charmaps.Choices() {
|
||||||
s += fmt.Sprintln(v + " ")
|
s += v + "\n"
|
||||||
}
|
}
|
||||||
s += fmt.Sprintln("```")
|
s += "```\n\n"
|
||||||
|
|
||||||
s += fmt.Sprintln("Encoding masks: \n```")
|
s += "Encoding masks:\n\n```\n"
|
||||||
for _, v := range strings.Split(encoder.ValidStrings(), ", ") {
|
for _, v := range strings.Split(encoder.ValidStrings(), ", ") {
|
||||||
s += fmt.Sprintln(v + " ")
|
s += v + "\n"
|
||||||
}
|
}
|
||||||
s += fmt.Sprintln("```")
|
s += "```\n\n"
|
||||||
|
|
||||||
s += sprintExamples()
|
s += sprintExamples()
|
||||||
|
|
||||||
generatingHelpText = false
|
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
// PrintList prints the example help text to stdout
|
// Output the help to stdout
|
||||||
func PrintList() {
|
func main() {
|
||||||
fmt.Println(SprintList())
|
out := os.Stdout
|
||||||
|
if len(os.Args) > 1 {
|
||||||
|
var err error
|
||||||
|
out, err = os.Create(os.Args[1])
|
||||||
|
if err != nil {
|
||||||
|
fs.Fatalf(nil, "Open output failed: %v", err)
|
||||||
|
}
|
||||||
|
defer out.Close()
|
||||||
|
}
|
||||||
|
fmt.Fprintf(out, "<!--- Docs generated by help.go - use go generate to rebuild - DO NOT EDIT --->\n\n")
|
||||||
|
fmt.Fprintln(out, SprintList())
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type transform struct {
|
type transform struct {
|
||||||
key transformAlgo // for example, "prefix"
|
key Algo // for example, "prefix"
|
||||||
value string // for example, "some_prefix_"
|
value string // for example, "some_prefix_"
|
||||||
tag tag // file, dir, or all
|
tag tag // file, dir, or all
|
||||||
}
|
}
|
||||||
@@ -171,12 +171,12 @@ func (t *transform) requiresValue() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// transformAlgo describes conversion setting
|
// Algo describes conversion setting
|
||||||
type transformAlgo = fs.Enum[transformChoices]
|
type Algo = fs.Enum[transformChoices]
|
||||||
|
|
||||||
// Supported transform options
|
// Supported transform options
|
||||||
const (
|
const (
|
||||||
ConvNone transformAlgo = iota
|
ConvNone Algo = iota
|
||||||
ConvToNFC
|
ConvToNFC
|
||||||
ConvToNFD
|
ConvToNFD
|
||||||
ConvToNFKC
|
ConvToNFKC
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
// Package transform holds functions for path name transformations
|
// Package transform holds functions for path name transformations
|
||||||
|
//
|
||||||
|
//go:generate go run gen_help.go transform.md
|
||||||
package transform
|
package transform
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
_ "embed"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -24,6 +27,16 @@ import (
|
|||||||
"golang.org/x/text/unicode/norm"
|
"golang.org/x/text/unicode/norm"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//go:embed transform.md
|
||||||
|
var help string
|
||||||
|
|
||||||
|
// Help returns the help string cleaned up to simplify appending
|
||||||
|
func Help() string {
|
||||||
|
// Chop off auto generated message
|
||||||
|
nl := strings.IndexRune(help, '\n')
|
||||||
|
return strings.TrimSpace(help[nl:]) + "\n\n"
|
||||||
|
}
|
||||||
|
|
||||||
// Path transforms a path s according to the --name-transform options in use
|
// Path transforms a path s according to the --name-transform options in use
|
||||||
//
|
//
|
||||||
// If no transforms are in use, s is returned unchanged
|
// If no transforms are in use, s is returned unchanged
|
||||||
@@ -53,7 +66,7 @@ func Path(ctx context.Context, s string, isDir bool) string {
|
|||||||
fs.Errorf(s, "Failed to transform: %v", err)
|
fs.Errorf(s, "Failed to transform: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if old != s && !generatingHelpText {
|
if old != s {
|
||||||
fs.Debugf(old, "transformed to: %v", s)
|
fs.Debugf(old, "transformed to: %v", s)
|
||||||
}
|
}
|
||||||
if strings.Count(old, "/") != strings.Count(s, "/") {
|
if strings.Count(old, "/") != strings.Count(s, "/") {
|
||||||
@@ -181,7 +194,7 @@ func transformPathSegment(s string, t transform) (string, error) {
|
|||||||
case ConvMacintosh:
|
case ConvMacintosh:
|
||||||
return encodeWithReplacement(s, charmap.Macintosh), nil
|
return encodeWithReplacement(s, charmap.Macintosh), nil
|
||||||
case ConvCharmap:
|
case ConvCharmap:
|
||||||
var cmapType fs.Enum[cmapChoices]
|
var cmapType CharmapChoices
|
||||||
err := cmapType.Set(t.value)
|
err := cmapType.Set(t.value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return s, err
|
return s, err
|
||||||
|
|||||||
224
lib/transform/transform.md
Normal file
224
lib/transform/transform.md
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
<!--- Docs generated by help.go - use go generate to rebuild - DO NOT EDIT --->
|
||||||
|
|
||||||
|
| Command | Description |
|
||||||
|
|------|------|
|
||||||
|
| `--name-transform prefix=XXXX` | Prepends XXXX to the file name. |
|
||||||
|
| `--name-transform suffix=XXXX` | Appends XXXX to the file name after the extension. |
|
||||||
|
| `--name-transform suffix_keep_extension=XXXX` | Appends XXXX to the file name while preserving the original file extension. |
|
||||||
|
| `--name-transform trimprefix=XXXX` | Removes XXXX if it appears at the start of the file name. |
|
||||||
|
| `--name-transform trimsuffix=XXXX` | Removes XXXX if it appears at the end of the file name. |
|
||||||
|
| `--name-transform regex=/pattern/replacement/` | Applies a regex-based transformation. |
|
||||||
|
| `--name-transform replace=old:new` | Replaces occurrences of old with new in the file name. |
|
||||||
|
| `--name-transform date={YYYYMMDD}` | Appends or prefixes the specified date format. |
|
||||||
|
| `--name-transform truncate=N` | Truncates the file name to a maximum of N characters. |
|
||||||
|
| `--name-transform base64encode` | Encodes the file name in Base64. |
|
||||||
|
| `--name-transform base64decode` | Decodes a Base64-encoded file name. |
|
||||||
|
| `--name-transform encoder=ENCODING` | Converts the file name to the specified encoding (e.g., ISO-8859-1, Windows-1252, Macintosh). |
|
||||||
|
| `--name-transform decoder=ENCODING` | Decodes the file name from the specified encoding. |
|
||||||
|
| `--name-transform charmap=MAP` | Applies a character mapping transformation. |
|
||||||
|
| `--name-transform lowercase` | Converts the file name to lowercase. |
|
||||||
|
| `--name-transform uppercase` | Converts the file name to UPPERCASE. |
|
||||||
|
| `--name-transform titlecase` | Converts the file name to Title Case. |
|
||||||
|
| `--name-transform ascii` | Strips non-ASCII characters. |
|
||||||
|
| `--name-transform url` | URL-encodes the file name. |
|
||||||
|
| `--name-transform nfc` | Converts the file name to NFC Unicode normalization form. |
|
||||||
|
| `--name-transform nfd` | Converts the file name to NFD Unicode normalization form. |
|
||||||
|
| `--name-transform nfkc` | Converts the file name to NFKC Unicode normalization form. |
|
||||||
|
| `--name-transform nfkd` | Converts the file name to NFKD Unicode normalization form. |
|
||||||
|
| `--name-transform command=/path/to/my/programfile names.` | Executes an external program to transform |
|
||||||
|
|
||||||
|
|
||||||
|
Conversion modes:
|
||||||
|
```
|
||||||
|
none
|
||||||
|
nfc
|
||||||
|
nfd
|
||||||
|
nfkc
|
||||||
|
nfkd
|
||||||
|
replace
|
||||||
|
prefix
|
||||||
|
suffix
|
||||||
|
suffix_keep_extension
|
||||||
|
trimprefix
|
||||||
|
trimsuffix
|
||||||
|
index
|
||||||
|
date
|
||||||
|
truncate
|
||||||
|
base64encode
|
||||||
|
base64decode
|
||||||
|
encoder
|
||||||
|
decoder
|
||||||
|
ISO-8859-1
|
||||||
|
Windows-1252
|
||||||
|
Macintosh
|
||||||
|
charmap
|
||||||
|
lowercase
|
||||||
|
uppercase
|
||||||
|
titlecase
|
||||||
|
ascii
|
||||||
|
url
|
||||||
|
regex
|
||||||
|
command
|
||||||
|
```
|
||||||
|
Char maps:
|
||||||
|
```
|
||||||
|
|
||||||
|
IBM-Code-Page-037
|
||||||
|
IBM-Code-Page-437
|
||||||
|
IBM-Code-Page-850
|
||||||
|
IBM-Code-Page-852
|
||||||
|
IBM-Code-Page-855
|
||||||
|
Windows-Code-Page-858
|
||||||
|
IBM-Code-Page-860
|
||||||
|
IBM-Code-Page-862
|
||||||
|
IBM-Code-Page-863
|
||||||
|
IBM-Code-Page-865
|
||||||
|
IBM-Code-Page-866
|
||||||
|
IBM-Code-Page-1047
|
||||||
|
IBM-Code-Page-1140
|
||||||
|
ISO-8859-1
|
||||||
|
ISO-8859-2
|
||||||
|
ISO-8859-3
|
||||||
|
ISO-8859-4
|
||||||
|
ISO-8859-5
|
||||||
|
ISO-8859-6
|
||||||
|
ISO-8859-7
|
||||||
|
ISO-8859-8
|
||||||
|
ISO-8859-9
|
||||||
|
ISO-8859-10
|
||||||
|
ISO-8859-13
|
||||||
|
ISO-8859-14
|
||||||
|
ISO-8859-15
|
||||||
|
ISO-8859-16
|
||||||
|
KOI8-R
|
||||||
|
KOI8-U
|
||||||
|
Macintosh
|
||||||
|
Macintosh-Cyrillic
|
||||||
|
Windows-874
|
||||||
|
Windows-1250
|
||||||
|
Windows-1251
|
||||||
|
Windows-1252
|
||||||
|
Windows-1253
|
||||||
|
Windows-1254
|
||||||
|
Windows-1255
|
||||||
|
Windows-1256
|
||||||
|
Windows-1257
|
||||||
|
Windows-1258
|
||||||
|
X-User-Defined
|
||||||
|
```
|
||||||
|
Encoding masks:
|
||||||
|
```
|
||||||
|
Asterisk
|
||||||
|
BackQuote
|
||||||
|
BackSlash
|
||||||
|
Colon
|
||||||
|
CrLf
|
||||||
|
Ctl
|
||||||
|
Del
|
||||||
|
Dollar
|
||||||
|
Dot
|
||||||
|
DoubleQuote
|
||||||
|
Exclamation
|
||||||
|
Hash
|
||||||
|
InvalidUtf8
|
||||||
|
LeftCrLfHtVt
|
||||||
|
LeftPeriod
|
||||||
|
LeftSpace
|
||||||
|
LeftTilde
|
||||||
|
LtGt
|
||||||
|
None
|
||||||
|
Percent
|
||||||
|
Pipe
|
||||||
|
Question
|
||||||
|
Raw
|
||||||
|
RightCrLfHtVt
|
||||||
|
RightPeriod
|
||||||
|
RightSpace
|
||||||
|
Semicolon
|
||||||
|
SingleQuote
|
||||||
|
Slash
|
||||||
|
SquareBracket
|
||||||
|
```
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,uppercase"
|
||||||
|
// Output: STORIES/THE QUICK BROWN FOX!.TXT
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,replace=Fox:Turtle" --name-transform "all,replace=Quick:Slow"
|
||||||
|
// Output: stories/The Slow Brown Turtle!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,base64encode"
|
||||||
|
// Output: c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0" --name-transform "all,base64decode"
|
||||||
|
// Output: stories/The Quick Brown Fox!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfc"
|
||||||
|
// Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfd"
|
||||||
|
// Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown 🦊 Fox!.txt" --name-transform "all,ascii"
|
||||||
|
// Output: stories/The Quick Brown Fox!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,trimsuffix=.txt"
|
||||||
|
// Output: stories/The Quick Brown Fox!
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,prefix=OLD_"
|
||||||
|
// Output: OLD_stories/OLD_The Quick Brown Fox!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,charmap=ISO-8859-7"
|
||||||
|
// Output: stories/The Quick Brown _ Fox Went to the Caf_!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox: A Memoir [draft].txt" --name-transform "all,encoder=Colon,SquareBracket"
|
||||||
|
// Output: stories/The Quick Brown Fox: A Memoir [draft].txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,truncate=21"
|
||||||
|
// Output: stories/The Quick Brown 🦊 Fox
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo"
|
||||||
|
// Output: stories/The Quick Brown Fox!.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
|
||||||
|
// Output: stories/The Quick Brown Fox!-20250618
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
|
||||||
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
|
||||||
|
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
96
rclone.1
generated
96
rclone.1
generated
@@ -1,7 +1,7 @@
|
|||||||
.\"t
|
.\"t
|
||||||
.\" Automatically generated by Pandoc 2.9.2.1
|
.\" Automatically generated by Pandoc 2.9.2.1
|
||||||
.\"
|
.\"
|
||||||
.TH "rclone" "1" "Jun 17, 2025" "User Manual" ""
|
.TH "rclone" "1" "Jun 19, 2025" "User Manual" ""
|
||||||
.hy
|
.hy
|
||||||
.SH NAME
|
.SH NAME
|
||||||
.PP
|
.PP
|
||||||
@@ -5572,14 +5572,14 @@ rclone convmv \[dq]stories/The Quick Brown Fox!.txt\[dq] --name-transform \[dq]a
|
|||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{YYYYMMDD}\[dq]
|
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{YYYYMMDD}\[dq]
|
||||||
// Output: stories/The Quick Brown Fox!-20250617
|
// Output: stories/The Quick Brown Fox!-20250618
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{macfriendlytime}\[dq]
|
rclone convmv \[dq]stories/The Quick Brown Fox!\[dq] --name-transform \[dq]date=-{macfriendlytime}\[dq]
|
||||||
// Output: stories/The Quick Brown Fox!-2025-06-17 0551PM
|
// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.IP
|
.IP
|
||||||
@@ -5602,7 +5602,7 @@ The means only the leaf file name will be transformed.
|
|||||||
However some of the transforms would be better applied to the whole path
|
However some of the transforms would be better applied to the whole path
|
||||||
or just directories.
|
or just directories.
|
||||||
To choose which which part of the file path is affected some tags can be
|
To choose which which part of the file path is affected some tags can be
|
||||||
added to the \f[C]--name-transform\f[R]
|
added to the \f[C]--name-transform\f[R].
|
||||||
.PP
|
.PP
|
||||||
.TS
|
.TS
|
||||||
tab(@);
|
tab(@);
|
||||||
@@ -5636,7 +5636,7 @@ This is used by adding the tag into the transform name like this:
|
|||||||
\f[C]--name-transform dir,prefix=DEF\f[R].
|
\f[C]--name-transform dir,prefix=DEF\f[R].
|
||||||
.PP
|
.PP
|
||||||
For some conversions using all is more likely to be useful, for example
|
For some conversions using all is more likely to be useful, for example
|
||||||
\f[C]--name-transform all,nfc\f[R]
|
\f[C]--name-transform all,nfc\f[R].
|
||||||
.PP
|
.PP
|
||||||
Note that \f[C]--name-transform\f[R] may not add path separators
|
Note that \f[C]--name-transform\f[R] may not add path separators
|
||||||
\f[C]/\f[R] to the name.
|
\f[C]/\f[R] to the name.
|
||||||
@@ -5687,27 +5687,20 @@ destination, the final state may be non-deterministic.
|
|||||||
* Running rclone check after a sync using such transformations may
|
* Running rclone check after a sync using such transformations may
|
||||||
erroneously report missing or differing files due to overwritten
|
erroneously report missing or differing files due to overwritten
|
||||||
results.
|
results.
|
||||||
.IP \[bu] 2
|
.PP
|
||||||
To minimize risks, users should:
|
To minimize risks, users should: * Carefully review transformations that
|
||||||
.RS 2
|
may introduce conflicts.
|
||||||
.IP \[bu] 2
|
* Use \f[C]--dry-run\f[R] to inspect changes before executing a sync
|
||||||
Carefully review transformations that may introduce conflicts.
|
(but keep in mind that it won\[aq]t show the effect of non-deterministic
|
||||||
.IP \[bu] 2
|
|
||||||
Use \f[C]--dry-run\f[R] to inspect changes before executing a sync (but
|
|
||||||
keep in mind that it won\[aq]t show the effect of non-deterministic
|
|
||||||
transformations).
|
transformations).
|
||||||
.IP \[bu] 2
|
* Avoid transformations that cause multiple distinct source files to map
|
||||||
Avoid transformations that cause multiple distinct source files to map
|
|
||||||
to the same destination name.
|
to the same destination name.
|
||||||
.IP \[bu] 2
|
* Consider disabling concurrency with \f[C]--transfers=1\f[R] if
|
||||||
Consider disabling concurrency with \f[C]--transfers=1\f[R] if
|
|
||||||
necessary.
|
necessary.
|
||||||
.IP \[bu] 2
|
* Certain transformations (e.g.
|
||||||
Certain transformations (e.g.
|
|
||||||
\f[C]prefix\f[R]) will have a multiplying effect every time they are
|
\f[C]prefix\f[R]) will have a multiplying effect every time they are
|
||||||
used.
|
used.
|
||||||
Avoid these when using \f[C]bisync\f[R].
|
Avoid these when using \f[C]bisync\f[R].
|
||||||
.RE
|
|
||||||
.IP
|
.IP
|
||||||
.nf
|
.nf
|
||||||
\f[C]
|
\f[C]
|
||||||
@@ -30217,7 +30210,7 @@ Flags for general networking and HTTP stuff.
|
|||||||
--tpslimit float Limit HTTP transactions per second to this
|
--tpslimit float Limit HTTP transactions per second to this
|
||||||
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
--tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
|
||||||
--use-cookies Enable session cookiejar
|
--use-cookies Enable session cookiejar
|
||||||
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.70.0\[dq])
|
--user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.70.1\[dq])
|
||||||
\f[R]
|
\f[R]
|
||||||
.fi
|
.fi
|
||||||
.SS Performance
|
.SS Performance
|
||||||
@@ -30699,6 +30692,7 @@ Backend-only flags (these can be set in the config file also).
|
|||||||
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
--ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
|
||||||
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
--ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
|
||||||
--ftp-host string FTP host to connect to
|
--ftp-host string FTP host to connect to
|
||||||
|
--ftp-http-proxy string URL for HTTP CONNECT proxy
|
||||||
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
--ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
|
||||||
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
--ftp-no-check-certificate Do not verify the TLS certificate of the server
|
||||||
--ftp-no-check-upload Don\[aq]t check the upload is OK
|
--ftp-no-check-upload Don\[aq]t check the upload is OK
|
||||||
@@ -44237,6 +44231,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -46539,6 +46535,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -48032,7 +48030,7 @@ See the metadata (https://rclone.org/docs/#metadata) docs for more info.
|
|||||||
The DOI remote is a read only remote for reading files from digital
|
The DOI remote is a read only remote for reading files from digital
|
||||||
object identifiers (DOI).
|
object identifiers (DOI).
|
||||||
.PP
|
.PP
|
||||||
Currently, the DOI backend supports supports DOIs hosted with: -
|
Currently, the DOI backend supports DOIs hosted with: -
|
||||||
InvenioRDM (https://inveniosoftware.org/products/rdm/) -
|
InvenioRDM (https://inveniosoftware.org/products/rdm/) -
|
||||||
Zenodo (https://zenodo.org) - CaltechDATA (https://data.caltech.edu) -
|
Zenodo (https://zenodo.org) - CaltechDATA (https://data.caltech.edu) -
|
||||||
Other InvenioRDM repositories (https://inveniosoftware.org/showcase/) -
|
Other InvenioRDM repositories (https://inveniosoftware.org/showcase/) -
|
||||||
@@ -48687,6 +48685,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -50455,6 +50455,22 @@ Env Var: RCLONE_FTP_SOCKS_PROXY
|
|||||||
Type: string
|
Type: string
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Required: false
|
Required: false
|
||||||
|
.SS --ftp-http-proxy
|
||||||
|
.PP
|
||||||
|
URL for HTTP CONNECT proxy
|
||||||
|
.PP
|
||||||
|
Set this to a URL for an HTTP proxy which supports the HTTP CONNECT
|
||||||
|
verb.
|
||||||
|
.PP
|
||||||
|
Properties:
|
||||||
|
.IP \[bu] 2
|
||||||
|
Config: http_proxy
|
||||||
|
.IP \[bu] 2
|
||||||
|
Env Var: RCLONE_FTP_HTTP_PROXY
|
||||||
|
.IP \[bu] 2
|
||||||
|
Type: string
|
||||||
|
.IP \[bu] 2
|
||||||
|
Required: false
|
||||||
.SS --ftp-no-check-upload
|
.SS --ftp-no-check-upload
|
||||||
.PP
|
.PP
|
||||||
Don\[aq]t check the upload is OK
|
Don\[aq]t check the upload is OK
|
||||||
@@ -52019,6 +52035,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -53271,6 +53289,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -55332,6 +55352,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -56765,6 +56787,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -58970,6 +58994,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -60152,6 +60178,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -64168,6 +64196,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -69155,6 +69185,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -70143,6 +70175,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -70838,6 +70872,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -76486,6 +76522,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -76862,6 +76900,8 @@ Use client credentials OAuth flow.
|
|||||||
This will use the OAUTH2 client Credentials Flow as described in RFC
|
This will use the OAUTH2 client Credentials Flow as described in RFC
|
||||||
6749.
|
6749.
|
||||||
.PP
|
.PP
|
||||||
|
Note that this option is NOT supported by all backends.
|
||||||
|
.PP
|
||||||
Properties:
|
Properties:
|
||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
Config: client_credentials
|
Config: client_credentials
|
||||||
@@ -78165,6 +78205,18 @@ Options:
|
|||||||
.IP \[bu] 2
|
.IP \[bu] 2
|
||||||
\[dq]error\[dq]: return an error based on option value
|
\[dq]error\[dq]: return an error based on option value
|
||||||
.SH Changelog
|
.SH Changelog
|
||||||
|
.SS v1.70.1 - 2025-06-19
|
||||||
|
.PP
|
||||||
|
See commits (https://github.com/rclone/rclone/compare/v1.70.0...v1.70.1)
|
||||||
|
.IP \[bu] 2
|
||||||
|
Bug Fixes
|
||||||
|
.RS 2
|
||||||
|
.IP \[bu] 2
|
||||||
|
convmv: Fix spurious \[dq]error running command echo\[dq] on Windows
|
||||||
|
(Nick Craig-Wood)
|
||||||
|
.IP \[bu] 2
|
||||||
|
doc fixes (albertony, Ed Craig-Wood, jinjingroad)
|
||||||
|
.RE
|
||||||
.SS v1.70.0 - 2025-06-17
|
.SS v1.70.0 - 2025-06-17
|
||||||
.PP
|
.PP
|
||||||
See commits (https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
See commits (https://github.com/rclone/rclone/compare/v1.69.0...v1.70.0)
|
||||||
|
|||||||
Reference in New Issue
Block a user