mirror of
https://github.com/rclone/rclone.git
synced 2025-12-11 13:53:15 +00:00
docs: fix markdownlint issue md013/line-length
This commit is contained in:
124
CONTRIBUTING.md
124
CONTRIBUTING.md
@@ -15,22 +15,28 @@ with the [latest beta of rclone](https://beta.rclone.org/):
|
||||
- Rclone version (e.g. output from `rclone version`)
|
||||
- Which OS you are using and how many bits (e.g. Windows 10, 64 bit)
|
||||
- The command you were trying to run (e.g. `rclone copy /tmp remote:tmp`)
|
||||
- A log of the command with the `-vv` flag (e.g. output from `rclone -vv copy /tmp remote:tmp`)
|
||||
- if the log contains secrets then edit the file with a text editor first to obscure them
|
||||
- A log of the command with the `-vv` flag (e.g. output from
|
||||
`rclone -vv copy /tmp remote:tmp`)
|
||||
- if the log contains secrets then edit the file with a text editor first to
|
||||
obscure them
|
||||
|
||||
## Submitting a new feature or bug fix
|
||||
|
||||
If you find a bug that you'd like to fix, or a new feature that you'd
|
||||
like to implement then please submit a pull request via GitHub.
|
||||
|
||||
If it is a big feature, then [make an issue](https://github.com/rclone/rclone/issues) first so it can be discussed.
|
||||
If it is a big feature, then [make an issue](https://github.com/rclone/rclone/issues)
|
||||
first so it can be discussed.
|
||||
|
||||
To prepare your pull request first press the fork button on [rclone's GitHub
|
||||
page](https://github.com/rclone/rclone).
|
||||
|
||||
Then [install Git](https://git-scm.com/downloads) and set your public contribution [name](https://docs.github.com/en/github/getting-started-with-github/setting-your-username-in-git) and [email](https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git).
|
||||
Then [install Git](https://git-scm.com/downloads) and set your public contribution
|
||||
[name](https://docs.github.com/en/github/getting-started-with-github/setting-your-username-in-git)
|
||||
and [email](https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address#setting-your-commit-email-address-in-git).
|
||||
|
||||
Next open your terminal, change directory to your preferred folder and initialise your local rclone project:
|
||||
Next open your terminal, change directory to your preferred folder and initialise
|
||||
your local rclone project:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/rclone/rclone.git
|
||||
@@ -42,7 +48,8 @@ git remote add origin git@github.com:YOURUSER/rclone.git
|
||||
git remote add origin https://github.com/YOURUSER/rclone.git
|
||||
```
|
||||
|
||||
Note that most of the terminal commands in the rest of this guide must be executed from the rclone folder created above.
|
||||
Note that most of the terminal commands in the rest of this guide must be
|
||||
executed from the rclone folder created above.
|
||||
|
||||
Now [install Go](https://golang.org/doc/install) and verify your installation:
|
||||
|
||||
@@ -67,9 +74,11 @@ git checkout -b my-new-feature
|
||||
|
||||
And get hacking.
|
||||
|
||||
You may like one of the [popular editors/IDE's for Go](https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins) and a quick view on the rclone [code organisation](#code-organisation).
|
||||
You may like one of the [popular editors/IDE's for Go](https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins)
|
||||
and a quick view on the rclone [code organisation](#code-organisation).
|
||||
|
||||
When ready - test the affected functionality and run the unit tests for the code you changed
|
||||
When ready - test the affected functionality and run the unit tests for the
|
||||
code you changed
|
||||
|
||||
```sh
|
||||
cd folder/with/changed/files
|
||||
@@ -79,7 +88,8 @@ go test -v
|
||||
Note that you may need to make a test remote, e.g. `TestSwift` for some
|
||||
of the unit tests.
|
||||
|
||||
This is typically enough if you made a simple bug fix, otherwise please read the rclone [testing](#testing) section too.
|
||||
This is typically enough if you made a simple bug fix, otherwise please read
|
||||
the rclone [testing](#testing) section too.
|
||||
|
||||
Make sure you
|
||||
|
||||
@@ -96,9 +106,12 @@ git push -u origin my-new-feature
|
||||
and open the GitHub website to [create your pull
|
||||
request](https://help.github.com/articles/creating-a-pull-request/).
|
||||
|
||||
Your changes will then get reviewed and you might get asked to fix some stuff. If so, then make the changes in the same branch, commit and push your updates to GitHub.
|
||||
Your changes will then get reviewed and you might get asked to fix some stuff.
|
||||
If so, then make the changes in the same branch, commit and push your updates to
|
||||
GitHub.
|
||||
|
||||
You may sometimes be asked to [base your changes on the latest master](#basing-your-changes-on-the-latest-master) or [squash your commits](#squashing-your-commits).
|
||||
You may sometimes be asked to [base your changes on the latest master](#basing-your-changes-on-the-latest-master)
|
||||
or [squash your commits](#squashing-your-commits).
|
||||
|
||||
## Using Git and GitHub
|
||||
|
||||
@@ -121,11 +134,14 @@ You can modify the message or changes in the latest commit using:
|
||||
git commit --amend
|
||||
```
|
||||
|
||||
If you amend to commits that have been pushed to GitHub, then you will have to [replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
If you amend to commits that have been pushed to GitHub, then you will have to
|
||||
[replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
|
||||
### Replacing your previously pushed commits
|
||||
|
||||
Note that you are about to rewrite the GitHub history of your branch. It is good practice to involve your collaborators before modifying commits that have been pushed to GitHub.
|
||||
Note that you are about to rewrite the GitHub history of your branch. It is good
|
||||
practice to involve your collaborators before modifying commits that have been
|
||||
pushed to GitHub.
|
||||
|
||||
Your previously pushed commits are replaced by:
|
||||
|
||||
@@ -135,7 +151,8 @@ git push --force origin my-new-feature
|
||||
|
||||
### Basing your changes on the latest master
|
||||
|
||||
To base your changes on the latest version of the [rclone master](https://github.com/rclone/rclone/tree/master) (upstream):
|
||||
To base your changes on the latest version of the
|
||||
[rclone master](https://github.com/rclone/rclone/tree/master) (upstream):
|
||||
|
||||
```sh
|
||||
git checkout master
|
||||
@@ -146,7 +163,8 @@ git checkout my-new-feature
|
||||
git rebase master
|
||||
```
|
||||
|
||||
If you rebase commits that have been pushed to GitHub, then you will have to [replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
If you rebase commits that have been pushed to GitHub, then you will have to
|
||||
[replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
|
||||
### Squashing your commits ###
|
||||
|
||||
@@ -171,23 +189,30 @@ git reflog # To check that HEAD{1} is your previous state
|
||||
git reset --soft 'HEAD@{1}' # To roll back to your previous state
|
||||
```
|
||||
|
||||
If you squash commits that have been pushed to GitHub, then you will have to [replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
If you squash commits that have been pushed to GitHub, then you will have to
|
||||
[replace your previously pushed commits](#replacing-your-previously-pushed-commits).
|
||||
|
||||
Tip: You may like to use `git rebase -i master` if you are experienced or have a more complex situation.
|
||||
Tip: You may like to use `git rebase -i master` if you are experienced or have a
|
||||
more complex situation.
|
||||
|
||||
### GitHub Continuous Integration
|
||||
|
||||
rclone currently uses [GitHub Actions](https://github.com/rclone/rclone/actions) to build and test the project, which should be automatically available for your fork too from the `Actions` tab in your repository.
|
||||
rclone currently uses [GitHub Actions](https://github.com/rclone/rclone/actions)
|
||||
to build and test the project, which should be automatically available for your
|
||||
fork too from the `Actions` tab in your repository.
|
||||
|
||||
## Testing
|
||||
|
||||
### Code quality tests
|
||||
|
||||
If you install [golangci-lint](https://github.com/golangci/golangci-lint) then you can run the same tests as get run in the CI which can be very helpful.
|
||||
If you install [golangci-lint](https://github.com/golangci/golangci-lint) then
|
||||
you can run the same tests as get run in the CI which can be very helpful.
|
||||
|
||||
You can run them with `make check` or with `golangci-lint run ./...`.
|
||||
|
||||
Using these tests ensures that the rclone codebase all uses the same coding standards. These tests also check for easy mistakes to make (like forgetting to check an error return).
|
||||
Using these tests ensures that the rclone codebase all uses the same coding
|
||||
standards. These tests also check for easy mistakes to make (like forgetting
|
||||
to check an error return).
|
||||
|
||||
### Quick testing
|
||||
|
||||
@@ -204,7 +229,8 @@ You can also use `make`, if supported by your platform
|
||||
make quicktest
|
||||
```
|
||||
|
||||
The quicktest is [automatically run by GitHub](#github-continuous-integration) when you push your branch to GitHub.
|
||||
The quicktest is [automatically run by GitHub](#github-continuous-integration)
|
||||
when you push your branch to GitHub.
|
||||
|
||||
### Backend testing
|
||||
|
||||
@@ -478,12 +504,18 @@ remote or an fs.
|
||||
### Getting going
|
||||
|
||||
- Create `backend/remote/remote.go` (copy this from a similar remote)
|
||||
- box is a good one to start from if you have a directory-based remote (and shows how to use the directory cache)
|
||||
- box is a good one to start from if you have a directory-based remote (and
|
||||
shows how to use the directory cache)
|
||||
- b2 is a good one to start from if you have a bucket-based remote
|
||||
- Add your remote to the imports in `backend/all/all.go`
|
||||
- HTTP based remotes are easiest to maintain if they use rclone's [lib/rest](https://pkg.go.dev/github.com/rclone/rclone/lib/rest) module, but if there is a really good Go SDK from the provider then use that instead.
|
||||
- Try to implement as many optional methods as possible as it makes the remote more usable.
|
||||
- Use [lib/encoder](https://pkg.go.dev/github.com/rclone/rclone/lib/encoder) to make sure we can encode any path name and `rclone info` to help determine the encodings needed
|
||||
- HTTP based remotes are easiest to maintain if they use rclone's
|
||||
[lib/rest](https://pkg.go.dev/github.com/rclone/rclone/lib/rest) module, but
|
||||
if there is a really good Go SDK from the provider then use that instead.
|
||||
- Try to implement as many optional methods as possible as it makes the remote
|
||||
more usable.
|
||||
- Use [lib/encoder](https://pkg.go.dev/github.com/rclone/rclone/lib/encoder) to
|
||||
make sure we can encode any path name and `rclone info` to help determine the
|
||||
encodings needed
|
||||
- `rclone purge -v TestRemote:rclone-info`
|
||||
- `rclone test info --all --remote-encoding None -vv --write-json remote.json TestRemote:rclone-info`
|
||||
- `go run cmd/test/info/internal/build_csv/main.go -o remote.csv remote.json`
|
||||
@@ -491,12 +523,19 @@ remote or an fs.
|
||||
|
||||
### Guidelines for a speedy merge
|
||||
|
||||
- **Do** use [lib/rest](https://pkg.go.dev/github.com/rclone/rclone/lib/rest) if you are implementing a REST like backend and parsing XML/JSON in the backend.
|
||||
- **Do** use rclone's Client or Transport from [fs/fshttp](https://pkg.go.dev/github.com/rclone/rclone/fs/fshttp) if your backend is HTTP based - this adds features like `--dump bodies`, `--tpslimit`, `--user-agent` without you having to code anything!
|
||||
- **Do** follow your example backend exactly - use the same code order, function names, layout, structure. **Don't** move stuff around and **Don't** delete the comments.
|
||||
- **Do not** split your backend up into `fs.go` and `object.go` (there are a few backends like that - don't follow them!)
|
||||
- **Do** use [lib/rest](https://pkg.go.dev/github.com/rclone/rclone/lib/rest)
|
||||
if you are implementing a REST like backend and parsing XML/JSON in the backend.
|
||||
- **Do** use rclone's Client or Transport from [fs/fshttp](https://pkg.go.dev/github.com/rclone/rclone/fs/fshttp)
|
||||
if your backend is HTTP based - this adds features like `--dump bodies`,
|
||||
`--tpslimit`, `--user-agent` without you having to code anything!
|
||||
- **Do** follow your example backend exactly - use the same code order, function
|
||||
names, layout, structure. **Don't** move stuff around and **Don't** delete the
|
||||
comments.
|
||||
- **Do not** split your backend up into `fs.go` and `object.go` (there are a few
|
||||
backends like that - don't follow them!)
|
||||
- **Do** put your API type definitions in a separate file - by preference `api/types.go`
|
||||
- **Remember** we have >50 backends to maintain so keeping them as similar as possible to each other is a high priority!
|
||||
- **Remember** we have >50 backends to maintain so keeping them as similar as
|
||||
possible to each other is a high priority!
|
||||
|
||||
### Unit tests
|
||||
|
||||
@@ -507,7 +546,8 @@ remote or an fs.
|
||||
### Integration tests
|
||||
|
||||
- Add your backend to `fstest/test_all/config.yaml`
|
||||
- Once you've done that then you can use the integration test framework from the project root:
|
||||
- Once you've done that then you can use the integration test framework from
|
||||
the project root:
|
||||
- go install ./...
|
||||
- test_all -backends remote
|
||||
|
||||
@@ -531,10 +571,13 @@ alphabetical order of full name of remote (e.g. `drive` is ordered as
|
||||
`Google Drive`) but with the local file system last.
|
||||
|
||||
- `README.md` - main GitHub page
|
||||
- `docs/content/remote.md` - main docs page (note the backend options are automatically added to this file with `make backenddocs`)
|
||||
- make sure this has the `autogenerated options` comments in (see your reference backend docs)
|
||||
- `docs/content/remote.md` - main docs page (note the backend options are
|
||||
automatically added to this file with `make backenddocs`)
|
||||
- make sure this has the `autogenerated options` comments in (see your
|
||||
reference backend docs)
|
||||
- update them in your backend with `bin/make_backend_docs.py remote`
|
||||
- `docs/content/overview.md` - overview docs - add an entry into the Features table and the Optional Features table.
|
||||
- `docs/content/overview.md` - overview docs - add an entry into the Features
|
||||
table and the Optional Features table.
|
||||
- `docs/content/docs.md` - list of remotes in config section
|
||||
- `docs/content/_index.md` - front page of rclone.org
|
||||
- `docs/layouts/chrome/navbar.html` - add it to the website navigation
|
||||
@@ -585,9 +628,10 @@ For an example of adding an s3 provider see [eb3082a1](https://github.com/rclone
|
||||
|
||||
## Writing a plugin
|
||||
|
||||
New features (backends, commands) can also be added "out-of-tree", through Go plugins.
|
||||
Changes will be kept in a dynamically loaded file instead of being compiled into the main binary.
|
||||
This is useful if you can't merge your changes upstream or don't want to maintain a fork of rclone.
|
||||
New features (backends, commands) can also be added "out-of-tree", through Go
|
||||
plugins. Changes will be kept in a dynamically loaded file instead of being
|
||||
compiled into the main binary. This is useful if you can't merge your changes
|
||||
upstream or don't want to maintain a fork of rclone.
|
||||
|
||||
### Usage
|
||||
|
||||
@@ -602,14 +646,16 @@ This is useful if you can't merge your changes upstream or don't want to maintai
|
||||
- All plugins in the folder specified by variable `$RCLONE_PLUGIN_PATH` are loaded.
|
||||
- If this variable doesn't exist, plugin support is disabled.
|
||||
- Plugins must be compiled against the exact version of rclone to work.
|
||||
(The rclone used during building the plugin must be the same as the source of rclone)
|
||||
(The rclone used during building the plugin must be the same as the source
|
||||
of rclone)
|
||||
|
||||
### Building
|
||||
|
||||
To turn your existing additions into a Go plugin, move them to an external repository
|
||||
and change the top-level package name to `main`.
|
||||
|
||||
Check `rclone --version` and make sure that the plugin's rclone dependency and host Go version match.
|
||||
Check `rclone --version` and make sure that the plugin's rclone dependency and
|
||||
host Go version match.
|
||||
|
||||
Then, run `go build -buildmode=plugin -o PLUGIN_NAME.so .` to build the plugin.
|
||||
|
||||
|
||||
@@ -26,23 +26,30 @@ Current active maintainers of rclone are:
|
||||
|
||||
**This is a work in progress Draft**
|
||||
|
||||
This is a guide for how to be an rclone maintainer. This is mostly a write-up of what I (@ncw) attempt to do.
|
||||
This is a guide for how to be an rclone maintainer. This is mostly a write-up
|
||||
of what I (@ncw) attempt to do.
|
||||
|
||||
## Triaging Tickets ##
|
||||
|
||||
When a ticket comes in it should be triaged. This means it should be classified by adding labels and placed into a milestone. Quite a lot of tickets need a bit of back and forth to determine whether it is a valid ticket so tickets may remain without labels or milestone for a while.
|
||||
When a ticket comes in it should be triaged. This means it should be classified
|
||||
by adding labels and placed into a milestone. Quite a lot of tickets need a bit
|
||||
of back and forth to determine whether it is a valid ticket so tickets may
|
||||
remain without labels or milestone for a while.
|
||||
|
||||
Rclone uses the labels like this:
|
||||
|
||||
- `bug` - a definitely verified bug
|
||||
- `can't reproduce` - a problem which we can't reproduce
|
||||
- `doc fix` - a bug in the documentation - if users need help understanding the docs add this label
|
||||
- `doc fix` - a bug in the documentation - if users need help understanding the
|
||||
docs add this label
|
||||
- `duplicate` - normally close these and ask the user to subscribe to the original
|
||||
- `enhancement: new remote` - a new rclone backend
|
||||
- `enhancement` - a new feature
|
||||
- `FUSE` - to do with `rclone mount` command
|
||||
- `good first issue` - mark these if you find a small self-contained issue - these get shown to new visitors to the project
|
||||
- `help` wanted - mark these if you find a self-contained issue - these get shown to new visitors to the project
|
||||
- `good first issue` - mark these if you find a small self-contained issue -
|
||||
these get shown to new visitors to the project
|
||||
- `help` wanted - mark these if you find a self-contained issue - these get
|
||||
shown to new visitors to the project
|
||||
- `IMPORTANT` - note to maintainers not to forget to fix this for the release
|
||||
- `maintenance` - internal enhancement, code re-organisation, etc.
|
||||
- `Needs Go 1.XX` - waiting for that version of Go to be released
|
||||
@@ -50,9 +57,14 @@ Rclone uses the labels like this:
|
||||
- `Remote: XXX` - which rclone backend this affects
|
||||
- `thinking` - not decided on the course of action yet
|
||||
|
||||
If it turns out to be a bug or an enhancement it should be tagged as such, with the appropriate other tags. Don't forget the "good first issue" tag to give new contributors something easy to do to get going.
|
||||
If it turns out to be a bug or an enhancement it should be tagged as such, with
|
||||
the appropriate other tags. Don't forget the "good first issue" tag to give new
|
||||
contributors something easy to do to get going.
|
||||
|
||||
When a ticket is tagged it should be added to a milestone, either the next release, the one after, Soon or Help Wanted. Bugs can be added to the "Known Bugs" milestone if they aren't planned to be fixed or need to wait for something (e.g. the next go release).
|
||||
When a ticket is tagged it should be added to a milestone, either the next
|
||||
release, the one after, Soon or Help Wanted. Bugs can be added to the
|
||||
"Known Bugs" milestone if they aren't planned to be fixed or need to wait for
|
||||
something (e.g. the next go release).
|
||||
|
||||
The milestones have these meanings:
|
||||
|
||||
@@ -60,43 +72,59 @@ The milestones have these meanings:
|
||||
- v1.XX+1 - stuff we are leaving until the next release
|
||||
- Soon - stuff we think is a good idea - waiting to be scheduled for a release
|
||||
- Help wanted - blue sky stuff that might get moved up, or someone could help with
|
||||
- Known bugs - bugs waiting on external factors or we aren't going to fix for the moment
|
||||
- Known bugs - bugs waiting on external factors or we aren't going to fix for
|
||||
the moment
|
||||
|
||||
Tickets [with no milestone](https://github.com/rclone/rclone/issues?utf8=✓&q=is%3Aissue%20is%3Aopen%20no%3Amile) are good candidates for ones that have slipped between the gaps and need following up.
|
||||
Tickets [with no milestone](https://github.com/rclone/rclone/issues?utf8=✓&q=is%3Aissue%20is%3Aopen%20no%3Amile)
|
||||
are good candidates for ones that have slipped between the gaps and need
|
||||
following up.
|
||||
|
||||
## Closing Tickets ##
|
||||
|
||||
Close tickets as soon as you can - make sure they are tagged with a release. Post a link to a beta in the ticket with the fix in, asking for feedback.
|
||||
Close tickets as soon as you can - make sure they are tagged with a release.
|
||||
Post a link to a beta in the ticket with the fix in, asking for feedback.
|
||||
|
||||
## Pull requests ##
|
||||
|
||||
Try to process pull requests promptly!
|
||||
|
||||
Merging pull requests on GitHub itself works quite well nowadays so you can squash and rebase or rebase pull requests. rclone doesn't use merge commits. Use the squash and rebase option if you need to edit the commit message.
|
||||
Merging pull requests on GitHub itself works quite well nowadays so you can
|
||||
squash and rebase or rebase pull requests. rclone doesn't use merge commits.
|
||||
Use the squash and rebase option if you need to edit the commit message.
|
||||
|
||||
After merging the commit, in your local master branch, do `git pull` then run `bin/update-authors.py` to update the authors file then `git push`.
|
||||
After merging the commit, in your local master branch, do `git pull` then run
|
||||
`bin/update-authors.py` to update the authors file then `git push`.
|
||||
|
||||
Sometimes pull requests need to be left open for a while - this especially true of contributions of new backends which take a long time to get right.
|
||||
Sometimes pull requests need to be left open for a while - this especially true
|
||||
of contributions of new backends which take a long time to get right.
|
||||
|
||||
## Merges ##
|
||||
|
||||
If you are merging a branch locally then do `git merge --ff-only branch-name` to avoid a merge commit. You'll need to rebase the branch if it doesn't merge cleanly.
|
||||
If you are merging a branch locally then do `git merge --ff-only branch-name` to
|
||||
avoid a merge commit. You'll need to rebase the branch if it doesn't merge cleanly.
|
||||
|
||||
## Release cycle ##
|
||||
|
||||
Rclone aims for a 6-8 week release cycle. Sometimes release cycles take longer if there is something big to merge that didn't stabilize properly or for personal reasons.
|
||||
Rclone aims for a 6-8 week release cycle. Sometimes release cycles take longer
|
||||
if there is something big to merge that didn't stabilize properly or for personal
|
||||
reasons.
|
||||
|
||||
High impact regressions should be fixed before the next release.
|
||||
|
||||
Near the start of the release cycle, the dependencies should be updated with `make update` to give time for bugs to surface.
|
||||
Near the start of the release cycle, the dependencies should be updated with
|
||||
`make update` to give time for bugs to surface.
|
||||
|
||||
Towards the end of the release cycle try not to merge anything too big so let things settle down.
|
||||
Towards the end of the release cycle try not to merge anything too big so let
|
||||
things settle down.
|
||||
|
||||
Follow the instructions in RELEASE.md for making the release. Note that the testing part is the most time-consuming often needing several rounds of test and fix depending on exactly how many new features rclone has gained.
|
||||
Follow the instructions in RELEASE.md for making the release. Note that the
|
||||
testing part is the most time-consuming often needing several rounds of test
|
||||
and fix depending on exactly how many new features rclone has gained.
|
||||
|
||||
## Mailing list ##
|
||||
|
||||
There is now an invite-only mailing list for rclone developers `rclone-dev` on google groups.
|
||||
There is now an invite-only mailing list for rclone developers `rclone-dev` on
|
||||
google groups.
|
||||
|
||||
## TODO ##
|
||||
|
||||
|
||||
18
README.md
18
README.md
@@ -16,7 +16,8 @@
|
||||
|
||||
# Rclone
|
||||
|
||||
Rclone *("rsync for cloud storage")* is a command-line program to sync files and directories to and from different cloud storage providers.
|
||||
Rclone *("rsync for cloud storage")* is a command-line program to sync files and
|
||||
directories to and from different cloud storage providers.
|
||||
|
||||
## Storage providers
|
||||
|
||||
@@ -134,17 +135,22 @@ These backends adapt or modify other storage providers
|
||||
- MD5/SHA-1 hashes checked at all times for file integrity
|
||||
- Timestamps preserved on files
|
||||
- Partial syncs supported on a whole file basis
|
||||
- [Copy](https://rclone.org/commands/rclone_copy/) mode to just copy new/changed files
|
||||
- [Sync](https://rclone.org/commands/rclone_sync/) (one way) mode to make a directory identical
|
||||
- [Bisync](https://rclone.org/bisync/) (two way) to keep two directories in sync bidirectionally
|
||||
- [Check](https://rclone.org/commands/rclone_check/) mode to check for file hash equality
|
||||
- [Copy](https://rclone.org/commands/rclone_copy/) mode to just copy new/changed
|
||||
files
|
||||
- [Sync](https://rclone.org/commands/rclone_sync/) (one way) mode to make a directory
|
||||
identical
|
||||
- [Bisync](https://rclone.org/bisync/) (two way) to keep two directories in sync
|
||||
bidirectionally
|
||||
- [Check](https://rclone.org/commands/rclone_check/) mode to check for file hash
|
||||
equality
|
||||
- Can sync to and from network, e.g. two different cloud accounts
|
||||
- Optional large file chunking ([Chunker](https://rclone.org/chunker/))
|
||||
- Optional transparent compression ([Compress](https://rclone.org/compress/))
|
||||
- Optional encryption ([Crypt](https://rclone.org/crypt/))
|
||||
- Optional FUSE mount ([rclone mount](https://rclone.org/commands/rclone_mount/))
|
||||
- Multi-threaded downloads to local disk
|
||||
- Can [serve](https://rclone.org/commands/rclone_serve/) local or remote files over HTTP/WebDAV/FTP/SFTP/DLNA
|
||||
- Can [serve](https://rclone.org/commands/rclone_serve/) local or remote files
|
||||
over HTTP/WebDAV/FTP/SFTP/DLNA
|
||||
|
||||
## Installation & documentation
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ This file describes how to make the various kinds of releases
|
||||
- Check GitHub actions build for master is Green
|
||||
- make test # see integration test server or run locally
|
||||
- make tag
|
||||
- edit docs/content/changelog.md # make sure to remove duplicate logs from point releases
|
||||
- edit docs/content/changelog.md # make sure to remove duplicate logs from point
|
||||
releases
|
||||
- make tidy
|
||||
- make doc
|
||||
- git status - to check for new man pages - git add them
|
||||
@@ -140,14 +141,16 @@ Now
|
||||
- make startstable
|
||||
- Do the steps as above
|
||||
- git co master
|
||||
- `#` cherry pick the changes to the changelog - check the diff to make sure it is correct
|
||||
- `#` cherry pick the changes to the changelog - check the diff to make sure it
|
||||
is correct
|
||||
- git checkout ${BASE_TAG}-stable docs/content/changelog.md
|
||||
- git commit -a -v -m "Changelog updates from Version ${NEW_TAG}"
|
||||
- git push
|
||||
|
||||
## Sponsor logos
|
||||
|
||||
If updating the website note that the sponsor logos have been moved out of the main repository.
|
||||
If updating the website note that the sponsor logos have been moved out of the
|
||||
main repository.
|
||||
|
||||
You will need to checkout `/docs/static/img/logos` from https://github.com/rclone/third-party-logos
|
||||
which is a private repo containing artwork from sponsors.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: "Documentation"
|
||||
description: "Rclone Changelog"
|
||||
---
|
||||
<!-- markdownlint-disable line-length -->
|
||||
|
||||
# Changelog
|
||||
|
||||
|
||||
@@ -118,8 +118,8 @@ starts with a `-` then put a `--` on its own first, eg
|
||||
rclone lsf -- -directory-starting-with-dash
|
||||
```
|
||||
|
||||
A `parameter` is usually a file path or [rclone remote](#syntax-of-remote-paths), eg
|
||||
`/path/to/file` or `remote:path/to/file` but it can be other things -
|
||||
A `parameter` is usually a file path or [rclone remote](#syntax-of-remote-paths),
|
||||
eg `/path/to/file` or `remote:path/to/file` but it can be other things -
|
||||
the `subcommand` help will tell you what.
|
||||
|
||||
Source and destination paths are specified by the name you gave the
|
||||
@@ -133,7 +133,7 @@ learning rclone to avoid accidental data loss.
|
||||
|
||||
## Subcommands
|
||||
|
||||
rclone uses a system of subcommands. For example
|
||||
rclone uses a system of subcommands. For example
|
||||
|
||||
```sh
|
||||
rclone ls remote:path # lists a remote
|
||||
@@ -143,7 +143,9 @@ rclone sync --interactive /local/path remote:path # syncs /local/path to the rem
|
||||
|
||||
The main rclone commands with most used first
|
||||
|
||||
- [rclone config](/commands/rclone_config/) - Enter an interactive configuration session.
|
||||
<!-- markdownlint-capture -->
|
||||
<!-- markdownlint-disable line-length -->
|
||||
- [rclone config](/commands/rclone_config/) - Enter an interactive configurationsession.
|
||||
- [rclone copy](/commands/rclone_copy/) - Copy files from source to dest, skipping already copied.
|
||||
- [rclone sync](/commands/rclone_sync/) - Make source and dest identical, modifying destination only.
|
||||
- [rclone bisync](/commands/rclone_bisync/) - [Bidirectional synchronization](/bisync/) between two paths.
|
||||
@@ -174,6 +176,7 @@ The main rclone commands with most used first
|
||||
- [rclone obscure](/commands/rclone_obscure/) - Obscure password for use in the rclone.conf
|
||||
- [rclone cryptcheck](/commands/rclone_cryptcheck/) - Check the integrity of an encrypted remote.
|
||||
- [rclone about](/commands/rclone_about/) - Get quota information from the remote.
|
||||
<!-- markdownlint-restore -->
|
||||
|
||||
See the [commands index](/commands/) for the full list.
|
||||
|
||||
@@ -839,7 +842,8 @@ for upload:download, e.g.`10M:1M`.
|
||||
|
||||
Entries can be separated by spaces or semicolons.
|
||||
|
||||
**Note:** Semicolons can be used as separators instead of spaces to avoid parsing issues in environments like Docker.
|
||||
**Note:** Semicolons can be used as separators instead of spaces to avoid
|
||||
parsing issues in environments like Docker.
|
||||
|
||||
An example of a typical timetable to avoid link saturation during daytime
|
||||
working hours could be:
|
||||
@@ -948,14 +952,17 @@ Default value is depending on operating system:
|
||||
|
||||
- Windows `%LocalAppData%\rclone`, if `LocalAppData` is defined.
|
||||
- macOS `$HOME/Library/Caches/rclone` if `HOME` is defined.
|
||||
- Unix `$XDG_CACHE_HOME/rclone` if `XDG_CACHE_HOME` is defined, else `$HOME/.cache/rclone` if `HOME` is defined.
|
||||
- Fallback (on all OS) to `$TMPDIR/rclone`, where `TMPDIR` is the value from [--temp-dir](#temp-dir-string).
|
||||
- Unix `$XDG_CACHE_HOME/rclone` if `XDG_CACHE_HOME` is defined, else
|
||||
`$HOME/.cache/rclone` if `HOME` is defined.
|
||||
- Fallback (on all OS) to `$TMPDIR/rclone`, where `TMPDIR` is the value
|
||||
from [--temp-dir](#temp-dir-string).
|
||||
|
||||
You can use the [config paths](/commands/rclone_config_paths/)
|
||||
command to see the current value.
|
||||
|
||||
Cache directory is heavily used by the [VFS File Caching](/commands/rclone_mount/#vfs-file-caching)
|
||||
mount feature, but also by [serve](/commands/rclone_serve/), [GUI](/gui) and other parts of rclone.
|
||||
mount feature, but also by [serve](/commands/rclone_serve/), [GUI](/gui) and
|
||||
other parts of rclone.
|
||||
|
||||
### --check-first
|
||||
|
||||
@@ -1079,8 +1086,8 @@ The `~` symbol in paths above represent the home directory of the current user
|
||||
on any OS, and the value is defined as following:
|
||||
|
||||
- On Windows: `%HOME%` if defined, else `%USERPROFILE%`, or else `%HOMEDRIVE%\%HOMEPATH%`.
|
||||
- On Unix: `$HOME` if defined, else by looking up current user in OS-specific user database
|
||||
(e.g. passwd file), or else use the result from shell command `cd && pwd`.
|
||||
- On Unix: `$HOME` if defined, else by looking up current user in OS-specific user
|
||||
database (e.g. passwd file), or else use the result from shell command `cd && pwd`.
|
||||
|
||||
If you run `rclone config file` you will see where the default location is for
|
||||
you. Running `rclone config touch` will ensure a configuration file exists,
|
||||
@@ -1250,9 +1257,10 @@ sometimes speed up transfers due to a
|
||||
Specify a DSCP value or name to use in connections. This could help QoS
|
||||
system to identify traffic class. BE, EF, DF, LE, CSx and AFxx are allowed.
|
||||
|
||||
See the description of [differentiated services](https://en.wikipedia.org/wiki/Differentiated_services) to get an idea of
|
||||
this field. Setting this to 1 (LE) to identify the flow to SCAVENGER class
|
||||
can avoid occupying too much bandwidth in a network with DiffServ support ([RFC 8622](https://tools.ietf.org/html/rfc8622)).
|
||||
See the description of [differentiated services](https://en.wikipedia.org/wiki/Differentiated_services)
|
||||
to get an idea of this field. Setting this to 1 (LE) to identify the flow to
|
||||
SCAVENGER class can avoid occupying too much bandwidth in a network with DiffServ
|
||||
support ([RFC 8622](https://tools.ietf.org/html/rfc8622)).
|
||||
|
||||
For example, if you configured QoS on router to handle LE properly. Running:
|
||||
|
||||
@@ -2207,7 +2215,8 @@ This can have a modifier appended with a comma:
|
||||
|
||||
- `ascending` or `asc` - order so that the smallest (or oldest) is processed first
|
||||
- `descending` or `desc` - order so that the largest (or newest) is processed first
|
||||
- `mixed` - order so that the smallest is processed first for some threads and the largest for others
|
||||
- `mixed` - order so that the smallest is processed first for some threads and
|
||||
the largest for others
|
||||
|
||||
If the modifier is `mixed` then it can have an optional percentage
|
||||
(which defaults to `50`), e.g. `size,mixed,25` which means that 25% of
|
||||
@@ -2446,8 +2455,8 @@ the display with a date string. The default is `2006/01/02 15:04:05 - `
|
||||
|
||||
When this is specified, rclone enables the single-line stats and prepends
|
||||
the display with a user-supplied date string. The date string MUST be
|
||||
enclosed in quotes. Follow [golang specs](https://golang.org/pkg/time/#Time.Format) for
|
||||
date formatting syntax.
|
||||
enclosed in quotes. Follow [golang specs](https://golang.org/pkg/time/#Time.Format)
|
||||
for date formatting syntax.
|
||||
|
||||
### --stats-unit string
|
||||
|
||||
@@ -2528,7 +2537,8 @@ the default. Make sure the directory exists and have accessible permissions.
|
||||
By default the operating system's temp directory will be used:
|
||||
|
||||
- On Unix systems, `$TMPDIR` if non-empty, else `/tmp`.
|
||||
- On Windows, the first non-empty value from `%TMP%`, `%TEMP%`, `%USERPROFILE%`, or the Windows directory.
|
||||
- On Windows, the first non-empty value from `%TMP%`, `%TEMP%`, `%USERPROFILE%`,
|
||||
or the Windows directory.
|
||||
|
||||
When overriding the default with this option, the specified path will be
|
||||
set as value of environment variable `TMPDIR` on Unix systems
|
||||
@@ -2898,9 +2908,12 @@ There is no way to recover the configuration if you lose your password.
|
||||
|
||||
You can also use
|
||||
|
||||
- [rclone config encryption set](/commands/rclone_config_encryption_set/) to set the config encryption directly
|
||||
- [rclone config encryption remove](/commands/rclone_config_encryption_remove/) to remove it
|
||||
- [rclone config encryption check](/commands/rclone_config_encryption_check/) to check that it is encrypted properly.
|
||||
- [rclone config encryption set](/commands/rclone_config_encryption_set/)
|
||||
to set the config encryption directly
|
||||
- [rclone config encryption remove](/commands/rclone_config_encryption_remove/)
|
||||
to remove it
|
||||
- [rclone config encryption check](/commands/rclone_config_encryption_check/)
|
||||
to check that it is encrypted properly.
|
||||
|
||||
rclone uses [nacl secretbox](https://godoc.org/golang.org/x/crypto/nacl/secretbox)
|
||||
which in turn uses XSalsa20 and Poly1305 to encrypt and authenticate
|
||||
@@ -3201,9 +3214,11 @@ it will log a high priority message if the retry was successful.
|
||||
- `4` - File not found
|
||||
- `5` - Temporary error (one that more retries might fix) (Retry errors)
|
||||
- `6` - Less serious errors (like 461 errors from dropbox) (NoRetry errors)
|
||||
- `7` - Fatal error (one that more retries won't fix, like account suspended) (Fatal errors)
|
||||
- `7` - Fatal error (one that more retries won't fix, like account suspended)
|
||||
(Fatal errors)
|
||||
- `8` - Transfer exceeded - limit set by --max-transfer reached
|
||||
- `9` - Operation successful, but no files transferred (Requires [`--error-on-no-transfer`](#error-on-no-transfer))
|
||||
- `9` - Operation successful, but no files transferred (Requires
|
||||
[`--error-on-no-transfer`](#error-on-no-transfer))
|
||||
- `10` - Duration exceeded - limit set by --max-duration reached
|
||||
|
||||
## Environment variables
|
||||
@@ -3234,7 +3249,8 @@ or for `-vv`, `RCLONE_VERBOSE=2`.
|
||||
The same parser is used for the options and the environment variables
|
||||
so they take exactly the same form.
|
||||
|
||||
The options set by environment variables can be seen with the `-vv` flag, e.g. `rclone version -vv`.
|
||||
The options set by environment variables can be seen with the `-vv` flag,
|
||||
e.g. `rclone version -vv`.
|
||||
|
||||
Options that can appear multiple times (type `stringArray`) are
|
||||
treated slightly differently as environment variables can only be
|
||||
@@ -3314,7 +3330,8 @@ this order and the first one with a value is used.
|
||||
|
||||
- Parameters in connection strings, e.g. `myRemote,skip_links:`
|
||||
- Flag values as supplied on the command line, e.g. `--skip-links`
|
||||
- Remote specific environment vars, e.g. `RCLONE_CONFIG_MYREMOTE_SKIP_LINKS` (see above).
|
||||
- Remote specific environment vars, e.g. `RCLONE_CONFIG_MYREMOTE_SKIP_LINKS`
|
||||
(see above).
|
||||
- Backend-specific environment vars, e.g. `RCLONE_LOCAL_SKIP_LINKS`.
|
||||
- Backend generic environment vars, e.g. `RCLONE_SKIP_LINKS`.
|
||||
- Config file, e.g. `skip_links = true`.
|
||||
|
||||
@@ -23,7 +23,10 @@ image](https://securebuild.com/images/rclone) through our partner
|
||||
| FreeBSD | 12.2 |
|
||||
| OpenBSD | 6.9 |
|
||||
|
||||
These requirements come from the Go version that rclone is compiled with and are simplified from [minimum requirements](https://go.dev/wiki/MinimumRequirements) and other [platform specific information](https://go.dev/wiki/#platform-specific-information) in the Go Wiki.
|
||||
These requirements come from the Go version that rclone is compiled with and are
|
||||
simplified from [minimum requirements](https://go.dev/wiki/MinimumRequirements)
|
||||
and other [platform specific information](https://go.dev/wiki/#platform-specific-information)
|
||||
in the Go Wiki.
|
||||
|
||||
## Release {{% version %}} {#release}
|
||||
|
||||
|
||||
@@ -172,10 +172,12 @@ curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bag
|
||||
ntpclient -s -h pool.ntp.org
|
||||
```
|
||||
|
||||
The two environment variables `SSL_CERT_FILE` and `SSL_CERT_DIR`, mentioned in the [x509 package](https://godoc.org/crypto/x509),
|
||||
provide an additional way to provide the SSL root certificates.
|
||||
The two environment variables `SSL_CERT_FILE` and `SSL_CERT_DIR`, mentioned in
|
||||
the [x509 package](https://godoc.org/crypto/x509), provide an additional way to
|
||||
provide the SSL root certificates.
|
||||
|
||||
Note that you may need to add the `--insecure` option to the `curl` command line if it doesn't work without.
|
||||
Note that you may need to add the `--insecure` option to the `curl` command line
|
||||
if it doesn't work without.
|
||||
|
||||
```sh
|
||||
curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
|
||||
@@ -229,7 +231,8 @@ Error: config failed to refresh token: failed to start auth webserver: listen tc
|
||||
yyyy/mm/dd hh:mm:ss Fatal error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
|
||||
```
|
||||
|
||||
This is sometimes caused by the Host Network Service causing issues with opening the port on the host.
|
||||
This is sometimes caused by the Host Network Service causing issues with opening
|
||||
the port on the host.
|
||||
|
||||
A simple solution may be restarting the Host Network Service with eg. Powershell
|
||||
|
||||
|
||||
@@ -68,7 +68,8 @@ pattern { , pattern }
|
||||
comma-separated (without spaces) patterns
|
||||
```
|
||||
|
||||
character classes (see [Go regular expression reference](https://golang.org/pkg/regexp/syntax/)) include:
|
||||
character classes (see [Go regular expression reference](https://golang.org/pkg/regexp/syntax/))
|
||||
include:
|
||||
|
||||
```text
|
||||
Named character classes (e.g. [\d], [^\d], [\D], [^\D])
|
||||
@@ -76,7 +77,8 @@ Perl character classes (e.g. \s, \S, \w, \W)
|
||||
ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
|
||||
```
|
||||
|
||||
regexp for advanced users to insert a regular expression - see [below](#regexp) for more info:
|
||||
regexp for advanced users to insert a regular expression - see [below](#regexp)
|
||||
for more info:
|
||||
|
||||
```text
|
||||
Any re2 regular expression not containing `}}`
|
||||
@@ -115,8 +117,9 @@ F:
|
||||
│ │ └── document.pdf
|
||||
```
|
||||
|
||||
To copy the contents of folder `data` into folder `bkp` excluding the contents of subfolder
|
||||
`excl`the following command treats `F:\data` and `F:\bkp` as top level for filtering.
|
||||
To copy the contents of folder `data` into folder `bkp` excluding the contents
|
||||
of subfolder `excl`the following command treats `F:\data` and `F:\bkp` as top
|
||||
level for filtering.
|
||||
|
||||
`rclone copy F:\data\ F:\bkp\ --exclude=/excl/**`
|
||||
|
||||
@@ -306,9 +309,10 @@ Directory recursion optimisation occurs if either:
|
||||
sftp, Microsoft OneDrive and WebDAV do not support `ListR`. Google
|
||||
Drive and most bucket type storage do. [Full list](https://rclone.org/overview/#optional-features)
|
||||
|
||||
- On other remotes (those that support `ListR`), if the rclone command is not naturally recursive, and
|
||||
provided it is not run with the `--fast-list` flag. `ls`, `lsf -R` and
|
||||
`size` are naturally recursive but `sync`, `copy` and `move` are not.
|
||||
- On other remotes (those that support `ListR`), if the rclone command is not
|
||||
naturally recursive, and provided it is not run with the `--fast-list` flag.
|
||||
`ls`, `lsf -R` and `size` are naturally recursive but `sync`, `copy` and `move`
|
||||
are not.
|
||||
|
||||
- Whenever the `--disable ListR` flag is applied to an rclone command.
|
||||
|
||||
@@ -550,7 +554,9 @@ processed in.
|
||||
Arrange the order of filter rules with the most restrictive first and
|
||||
work down.
|
||||
|
||||
Lines starting with # or ; are ignored, and can be used to write comments. Inline comments are not supported. _Use `-vv --dump filters` to see how they appear in the final regexp._
|
||||
Lines starting with # or ; are ignored, and can be used to write comments.
|
||||
Inline comments are not supported. _Use `-vv --dump filters` to see how they
|
||||
appear in the final regexp._
|
||||
|
||||
E.g. for `filter-file.txt`:
|
||||
|
||||
@@ -632,8 +638,8 @@ to right along the command line.
|
||||
|
||||
Paths within the `--files-from` file are interpreted as starting
|
||||
with the root specified in the rclone command. Leading `/` separators are
|
||||
ignored. See [--files-from-raw](#files-from-raw-read-list-of-source-file-names-without-any-processing) if
|
||||
you need the input to be processed in a raw manner.
|
||||
ignored. See [--files-from-raw](#files-from-raw-read-list-of-source-file-names-without-any-processing)
|
||||
if you need the input to be processed in a raw manner.
|
||||
|
||||
E.g. for a file `files-from.txt`:
|
||||
|
||||
@@ -709,8 +715,8 @@ Then there will be an extra `home` directory on the remote:
|
||||
|
||||
This flag is the same as `--files-from` except that input is read in a
|
||||
raw manner. Lines with leading / trailing whitespace, and lines starting
|
||||
with `;` or `#` are read without any processing. [rclone lsf](/commands/rclone_lsf/) has
|
||||
a compatible format that can be used to export file lists from remotes for
|
||||
with `;` or `#` are read without any processing. [rclone lsf](/commands/rclone_lsf/)
|
||||
has a compatible format that can be used to export file lists from remotes for
|
||||
input to `--files-from-raw`.
|
||||
|
||||
### `--ignore-case` - make searches case insensitive
|
||||
@@ -788,7 +794,8 @@ See [the time option docs](/docs/#time-options) for valid formats.
|
||||
|
||||
### `--hash-filter` - Deterministically select a subset of files {#hash-filter}
|
||||
|
||||
The `--hash-filter` flag enables selecting a deterministic subset of files, useful for:
|
||||
The `--hash-filter` flag enables selecting a deterministic subset of files,
|
||||
useful for:
|
||||
|
||||
1. Running large sync operations across multiple machines.
|
||||
2. Checking a subset of files for bitrot.
|
||||
@@ -808,7 +815,8 @@ The flag takes two parameters expressed as a fraction:
|
||||
For example:
|
||||
|
||||
- `--hash-filter 1/3`: Selects the first third of the files.
|
||||
- `--hash-filter 2/3` and `--hash-filter 3/3`: Select the second and third partitions, respectively.
|
||||
- `--hash-filter 2/3` and `--hash-filter 3/3`: Select the second and third
|
||||
partitions, respectively.
|
||||
|
||||
Each partition is non-overlapping, ensuring all files are covered without duplication.
|
||||
|
||||
@@ -820,11 +828,13 @@ Use `@` as `K` to randomly select a partition:
|
||||
--hash-filter @/M
|
||||
```
|
||||
|
||||
For example, `--hash-filter @/3` will randomly select a number between 0 and 2. This will stay constant across retries.
|
||||
For example, `--hash-filter @/3` will randomly select a number between 0 and 2.
|
||||
This will stay constant across retries.
|
||||
|
||||
#### How It Works
|
||||
|
||||
- Rclone takes each file's full path, normalizes it to lowercase, and applies Unicode normalization.
|
||||
- Rclone takes each file's full path, normalizes it to lowercase, and applies
|
||||
Unicode normalization.
|
||||
- It then hashes the normalized path into a 64 bit number.
|
||||
- The hash result is reduced modulo `N` to assign the file to a partition.
|
||||
- If the calculated partition does not match `K` the file is excluded.
|
||||
@@ -956,11 +966,14 @@ directories.
|
||||
The filters can be applied using these flags.
|
||||
|
||||
- `--metadata-include` - Include metadatas matching pattern
|
||||
- `--metadata-include-from` - Read metadata include patterns from file (use - to read from stdin)
|
||||
- `--metadata-include-from` - Read metadata include patterns from file
|
||||
(use - to read from stdin)
|
||||
- `--metadata-exclude` - Exclude metadatas matching pattern
|
||||
- `--metadata-exclude-from` - Read metadata exclude patterns from file (use - to read from stdin)
|
||||
- `--metadata-exclude-from` - Read metadata exclude patterns from file
|
||||
(use - to read from stdin)
|
||||
- `--metadata-filter` - Add a metadata filtering rule
|
||||
- `--metadata-filter-from` - Read metadata filtering patterns from a file (use - to read from stdin)
|
||||
- `--metadata-filter-from` - Read metadata filtering patterns from a file
|
||||
(use - to read from stdin)
|
||||
|
||||
Each flag can be repeated. See the section on [how filter rules are
|
||||
applied](#how-filter-rules-work) for more details - these flags work
|
||||
|
||||
@@ -17,7 +17,8 @@ display the GUI in a web browser.
|
||||
rclone rcd --rc-web-gui
|
||||
```
|
||||
|
||||
This will produce logs like this and rclone needs to continue to run to serve the GUI:
|
||||
This will produce logs like this and rclone needs to continue to run to serve
|
||||
the GUI:
|
||||
|
||||
```text
|
||||
2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/rclone/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip
|
||||
@@ -58,7 +59,8 @@ When you run the `rclone rcd --rc-web-gui` this is what happens
|
||||
- Rclone starts but only runs the remote control API ("rc").
|
||||
- The API is bound to localhost with an auto-generated username and password.
|
||||
- If the API bundle is missing then rclone will download it.
|
||||
- rclone will start serving the files from the API bundle over the same port as the API
|
||||
- rclone will start serving the files from the API bundle over the same port as
|
||||
the API
|
||||
- rclone will open the browser with a `login_token` so it can log straight in.
|
||||
|
||||
## Advanced use
|
||||
@@ -79,7 +81,8 @@ See also the [rclone rcd documentation](https://rclone.org/commands/rclone_rcd/)
|
||||
|
||||
### Example: Running a public GUI
|
||||
|
||||
For example the GUI could be served on a public port over SSL using an htpasswd file using the following flags:
|
||||
For example the GUI could be served on a public port over SSL using an htpasswd
|
||||
file using the following flags:
|
||||
|
||||
- `--rc-web-gui`
|
||||
- `--rc-addr :443`
|
||||
|
||||
@@ -190,7 +190,10 @@ feature then you will need to install the third party utility
|
||||
|
||||
### Windows package manager (Winget) {#windows-chocolatey}
|
||||
|
||||
[Winget](https://learn.microsoft.com/en-us/windows/package-manager/) comes pre-installed with the latest versions of Windows. If not, update the [App Installer](https://www.microsoft.com/p/app-installer/9nblggh4nns1) package from the Microsoft store.
|
||||
[Winget](https://learn.microsoft.com/en-us/windows/package-manager/) comes
|
||||
pre-installed with the latest versions of Windows. If not, update the
|
||||
[App Installer](https://www.microsoft.com/p/app-installer/9nblggh4nns1) package
|
||||
from the Microsoft store.
|
||||
|
||||
To install rclone
|
||||
|
||||
@@ -286,32 +289,33 @@ There are a few command line options to consider when starting an rclone Docker
|
||||
from the rclone image.
|
||||
|
||||
- You need to mount the host rclone config dir at `/config/rclone` into the Docker
|
||||
container. Due to the fact that rclone updates tokens inside its config file, and that
|
||||
the update process involves a file rename, you need to mount the whole host rclone
|
||||
config dir, not just the single host rclone config file.
|
||||
container. Due to the fact that rclone updates tokens inside its config file,
|
||||
and that the update process involves a file rename, you need to mount the whole
|
||||
host rclone config dir, not just the single host rclone config file.
|
||||
|
||||
- You need to mount a host data dir at `/data` into the Docker container.
|
||||
|
||||
- By default, the rclone binary inside a Docker container runs with UID=0 (root).
|
||||
As a result, all files created in a run will have UID=0. If your config and data files
|
||||
reside on the host with a non-root UID:GID, you need to pass these on the container
|
||||
start command line.
|
||||
As a result, all files created in a run will have UID=0. If your config and
|
||||
data files reside on the host with a non-root UID:GID, you need to pass these
|
||||
on the container start command line.
|
||||
|
||||
- If you want to access the RC interface (either via the API or the Web UI), it is
|
||||
required to set the `--rc-addr` to `:5572` in order to connect to it from outside
|
||||
the container. An explanation about why this is necessary can be found in an old [pythonspeed.com](https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker-connection-refused/)
|
||||
the container. An explanation about why this is necessary can be found in an old
|
||||
[pythonspeed.com](https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker-connection-refused/)
|
||||
article.
|
||||
- NOTE: Users running this container with the docker network set to `host` should
|
||||
probably set it to listen to localhost only, with `127.0.0.1:5572` as the value for
|
||||
`--rc-addr`
|
||||
probably set it to listen to localhost only, with `127.0.0.1:5572` as the
|
||||
value for `--rc-addr`
|
||||
|
||||
- It is possible to use `rclone mount` inside a userspace Docker container, and expose
|
||||
the resulting fuse mount to the host. The exact `docker run` options to do that might
|
||||
vary slightly between hosts. See, e.g. the discussion in this
|
||||
the resulting fuse mount to the host. The exact `docker run` options to do that
|
||||
might vary slightly between hosts. See, e.g. the discussion in this
|
||||
[thread](https://github.com/moby/moby/issues/9448).
|
||||
|
||||
You also need to mount the host `/etc/passwd` and `/etc/group` for fuse to work inside
|
||||
the container.
|
||||
You also need to mount the host `/etc/passwd` and `/etc/group` for fuse to work
|
||||
inside the container.
|
||||
|
||||
Here are some commands tested on an Ubuntu 18.04.3 host:
|
||||
|
||||
@@ -357,16 +361,19 @@ Make sure you have [Snapd installed](https://snapcraft.io/docs/installing-snapd)
|
||||
sudo snap install rclone
|
||||
```
|
||||
|
||||
Due to the strict confinement of Snap, rclone snap cannot access real /home/$USER/.config/rclone directory, default config path is as below.
|
||||
Due to the strict confinement of Snap, rclone snap cannot access real
|
||||
`/home/$USER/.config/rclone` directory, default config path is as below.
|
||||
|
||||
- Default config directory:
|
||||
- /home/$USER/snap/rclone/current/.config/rclone
|
||||
|
||||
Note: Due to the strict confinement of Snap, `rclone mount` feature is `not` supported.
|
||||
|
||||
If mounting is wanted, either install a precompiled binary or enable the relevant option when [installing from source](#source).
|
||||
If mounting is wanted, either install a precompiled binary or enable the relevant
|
||||
option when [installing from source](#source).
|
||||
|
||||
Note that this is controlled by [community maintainer](https://github.com/boukendesho/rclone-snap) not the rclone developers so it may be out of date. Its current version is as below.
|
||||
Note that this is controlled by [community maintainer](https://github.com/boukendesho/rclone-snap)
|
||||
not the rclone developers so it may be out of date. Its current version is as below.
|
||||
|
||||
[](https://snapcraft.io/rclone)
|
||||
|
||||
@@ -500,7 +507,8 @@ role](https://github.com/stefangweichinger/ansible-rclone).
|
||||
|
||||
Instructions
|
||||
|
||||
1. `git clone https://github.com/stefangweichinger/ansible-rclone.git` into your local roles-directory
|
||||
1. `git clone https://github.com/stefangweichinger/ansible-rclone.git` into
|
||||
your local roles-directory
|
||||
2. add the role to the hosts you want rclone installed to:
|
||||
|
||||
```yml
|
||||
@@ -532,19 +540,19 @@ To override them set the corresponding options (as command-line arguments, or as
|
||||
|
||||
## Autostart
|
||||
|
||||
After installing and configuring rclone, as described above, you are ready to use rclone
|
||||
as an interactive command line utility. If your goal is to perform *periodic* operations,
|
||||
such as a regular [sync](https://rclone.org/commands/rclone_sync/), you will probably want
|
||||
to configure your rclone command in your operating system's scheduler. If you need to
|
||||
expose *service*-like features, such as [remote control](https://rclone.org/rc/),
|
||||
[GUI](https://rclone.org/gui/), [serve](https://rclone.org/commands/rclone_serve/)
|
||||
or [mount](https://rclone.org/commands/rclone_mount/), you will often want an rclone
|
||||
command always running in the background, and configuring it to run in a service infrastructure
|
||||
may be a better option. Below are some alternatives on how to achieve this on
|
||||
different operating systems.
|
||||
After installing and configuring rclone, as described above, you are ready to use
|
||||
rclone as an interactive command line utility. If your goal is to perform *periodic*
|
||||
operations, such as a regular [sync](https://rclone.org/commands/rclone_sync/), you
|
||||
will probably want to configure your rclone command in your operating system's
|
||||
scheduler. If you need to expose *service*-like features, such as
|
||||
[remote control](https://rclone.org/rc/), [GUI](https://rclone.org/gui/),
|
||||
[serve](https://rclone.org/commands/rclone_serve/) or [mount](https://rclone.org/commands/rclone_mount/),
|
||||
you will often want an rclone command always running in the background, and
|
||||
configuring it to run in a service infrastructure may be a better option. Below
|
||||
are some alternatives on how to achieve this on different operating systems.
|
||||
|
||||
NOTE: Before setting up autorun it is highly recommended that you have tested your command
|
||||
manually from a Command Prompt first.
|
||||
NOTE: Before setting up autorun it is highly recommended that you have tested
|
||||
your command manually from a Command Prompt first.
|
||||
|
||||
### Autostart on Windows
|
||||
|
||||
@@ -559,11 +567,11 @@ The most relevant alternatives for autostart on Windows are:
|
||||
Rclone is a console application, so if not starting from an existing Command Prompt,
|
||||
e.g. when starting rclone.exe from a shortcut, it will open a Command Prompt window.
|
||||
When configuring rclone to run from task scheduler and windows service you are able
|
||||
to set it to run hidden in background. From rclone version 1.54 you can also make it
|
||||
run hidden from anywhere by adding option `--no-console` (it may still flash briefly
|
||||
when the program starts). Since rclone normally writes information and any error
|
||||
messages to the console, you must redirect this to a file to be able to see it.
|
||||
Rclone has a built-in option `--log-file` for that.
|
||||
to set it to run hidden in background. From rclone version 1.54 you can also make
|
||||
it run hidden from anywhere by adding option `--no-console` (it may still flash
|
||||
briefly when the program starts). Since rclone normally writes information and any
|
||||
error messages to the console, you must redirect this to a file to be able to see
|
||||
it. Rclone has a built-in option `--log-file` for that.
|
||||
|
||||
Example command to run a sync in background:
|
||||
|
||||
@@ -574,8 +582,8 @@ c:\rclone\rclone.exe sync c:\files remote:/files --no-console --log-file c:\rclo
|
||||
#### User account
|
||||
|
||||
As mentioned in the [mount](https://rclone.org/commands/rclone_mount/) documentation,
|
||||
mounted drives created as Administrator are not visible to other accounts, not even the
|
||||
account that was elevated as Administrator. By running the mount command as the
|
||||
mounted drives created as Administrator are not visible to other accounts, not even
|
||||
the account that was elevated as Administrator. By running the mount command as the
|
||||
built-in `SYSTEM` user account, it will create drives accessible for everyone on
|
||||
the system. Both scheduled task and Windows service can be used to achieve this.
|
||||
|
||||
@@ -622,13 +630,14 @@ your rclone command, as an alternative to scheduled task configured to run at st
|
||||
|
||||
##### Mount command built-in service integration
|
||||
|
||||
For mount commands, rclone has a built-in Windows service integration via the third-party
|
||||
WinFsp library it uses. Registering as a regular Windows service easy, as you just have to
|
||||
execute the built-in PowerShell command `New-Service` (requires administrative privileges).
|
||||
For mount commands, rclone has a built-in Windows service integration via the
|
||||
third-party WinFsp library it uses. Registering as a regular Windows service
|
||||
easy, as you just have to execute the built-in PowerShell command `New-Service`
|
||||
(requires administrative privileges).
|
||||
|
||||
Example of a PowerShell command that creates a Windows service for mounting
|
||||
some `remote:/files` as drive letter `X:`, for *all* users (service will be running as the
|
||||
local system account):
|
||||
some `remote:/files` as drive letter `X:`, for *all* users (service will be
|
||||
running as the local system account):
|
||||
|
||||
```pwsh
|
||||
New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'
|
||||
@@ -652,15 +661,15 @@ customized response to different exit codes, with a GUI to configure everything
|
||||
(although it can also be used from command line ).
|
||||
|
||||
There are also several other alternatives. To mention one more,
|
||||
[WinSW](https://github.com/winsw/winsw), "Windows Service Wrapper", is worth checking out.
|
||||
It requires .NET Framework, but it is preinstalled on newer versions of Windows, and it
|
||||
also provides alternative standalone distributions which includes necessary runtime (.NET 5).
|
||||
WinSW is a command-line only utility, where you have to manually create an XML file with
|
||||
service configuration. This may be a drawback for some, but it can also be an advantage
|
||||
as it is easy to back up and reuse the configuration
|
||||
[WinSW](https://github.com/winsw/winsw), "Windows Service Wrapper", is worth checking
|
||||
out. It requires .NET Framework, but it is preinstalled on newer versions of Windows,
|
||||
and it also provides alternative standalone distributions which includes necessary
|
||||
runtime (.NET 5). WinSW is a command-line only utility, where you have to manually
|
||||
create an XML file with service configuration. This may be a drawback for some, but
|
||||
it can also be an advantage as it is easy to back up and reuse the configuration
|
||||
settings, without having go through manual steps in a GUI. One thing to note is that
|
||||
by default it does not restart the service on error, one have to explicit enable this
|
||||
in the configuration file (via the "onfailure" parameter).
|
||||
by default it does not restart the service on error, one have to explicit enable
|
||||
this in the configuration file (via the "onfailure" parameter).
|
||||
|
||||
### Autostart on Linux
|
||||
|
||||
|
||||
@@ -79,9 +79,11 @@ This is an SHA256 sum of all the 4 MiB block SHA256s.
|
||||
|
||||
³ WebDAV supports hashes when used with Fastmail Files, Owncloud and Nextcloud only.
|
||||
|
||||
⁴ WebDAV supports modtimes when used with Fastmail Files, Owncloud and Nextcloud only.
|
||||
⁴ WebDAV supports modtimes when used with Fastmail Files, Owncloud and Nextcloud
|
||||
only.
|
||||
|
||||
⁵ [QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash) is Microsoft's own hash.
|
||||
⁵ [QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash)
|
||||
is Microsoft's own hash.
|
||||
|
||||
⁶ Mail.ru uses its own modified SHA1 hash
|
||||
|
||||
@@ -180,7 +182,8 @@ depending on OS.
|
||||
|
||||
- Windows - usually case insensitive, though case is preserved
|
||||
- OSX - usually case insensitive, though it is possible to format case sensitive
|
||||
- Linux - usually case sensitive, but there are case insensitive file systems (e.g. FAT formatted USB keys)
|
||||
- Linux - usually case sensitive, but there are case insensitive file systems
|
||||
(e.g. FAT formatted USB keys)
|
||||
|
||||
Most of the time this doesn't cause any problems as people tend to
|
||||
avoid files whose name differs only by case even on case sensitive
|
||||
@@ -421,7 +424,8 @@ to the existing ones, giving:
|
||||
Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
|
||||
```
|
||||
|
||||
This can be specified using the `--ftp-encoding` flag or using an `encoding` parameter in the config file.
|
||||
This can be specified using the `--ftp-encoding` flag or using an `encoding`
|
||||
parameter in the config file.
|
||||
|
||||
##### Encoding example: Windows
|
||||
|
||||
@@ -447,7 +451,8 @@ the default value but without `Colon,Question,Asterisk`:
|
||||
--local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"
|
||||
```
|
||||
|
||||
Alternatively, you can disable the conversion of any characters with `--local-encoding Raw`.
|
||||
Alternatively, you can disable the conversion of any characters with
|
||||
`--local-encoding Raw`.
|
||||
|
||||
Instead of using command-line argument `--local-encoding`, you may also set it
|
||||
as [environment variable](/docs/#environment-variables) `RCLONE_LOCAL_ENCODING`,
|
||||
|
||||
@@ -7,58 +7,128 @@ description: "Rclone Privacy Policy"
|
||||
|
||||
## What is this Privacy Policy for? ##
|
||||
|
||||
This privacy policy is for this website https://rclone.org and governs the privacy of its users who choose to use it.
|
||||
This privacy policy is for this website https://rclone.org and governs the
|
||||
privacy of its users who choose to use it.
|
||||
|
||||
The policy sets out the different areas where user privacy is concerned and outlines the obligations & requirements of the users, the website and website owners. Furthermore the way this website processes, stores and protects user data and information will also be detailed within this policy.
|
||||
The policy sets out the different areas where user privacy is concerned and
|
||||
outlines the obligations & requirements of the users, the website and website
|
||||
owners. Furthermore the way this website processes, stores and protects user
|
||||
data and information will also be detailed within this policy.
|
||||
|
||||
## The Website ##
|
||||
|
||||
This website and its owners take a proactive approach to user privacy and ensure the necessary steps are taken to protect the privacy of its users throughout their visiting experience. This website complies to all UK national laws and requirements for user privacy.
|
||||
This website and its owners take a proactive approach to user privacy and
|
||||
ensure the necessary steps are taken to protect the privacy of its users
|
||||
throughout their visiting experience. This website complies to all UK national
|
||||
laws and requirements for user privacy.
|
||||
|
||||
## Use of Cookies ##
|
||||
|
||||
This website uses cookies to better the users experience while visiting the website. Where applicable this website uses a cookie control system allowing the user on their first visit to the website to allow or disallow the use of cookies on their computer / device. This complies with recent legislation requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user's computer / device.
|
||||
This website uses cookies to better the users experience while visiting the
|
||||
website. Where applicable this website uses a cookie control system allowing
|
||||
the user on their first visit to the website to allow or disallow the use of
|
||||
cookies on their computer / device. This complies with recent legislation
|
||||
requirements for websites to obtain explicit consent from users before leaving
|
||||
behind or reading files such as cookies on a user's computer / device.
|
||||
|
||||
Cookies are small files saved to the user's computers hard drive that track, save and store information about the user's interactions and usage of the website. This allows the website, through its server to provide the users with a tailored experience within this website.
|
||||
Cookies are small files saved to the user's computers hard drive that track,
|
||||
save and store information about the user's interactions and usage of the
|
||||
website. This allows the website, through its server to provide the users with
|
||||
a tailored experience within this website.
|
||||
|
||||
Users are advised that if they wish to deny the use and saving of cookies from this website on to their computers hard drive they should take necessary steps within their web browsers security settings to block all cookies from this website and its external serving vendors.
|
||||
Users are advised that if they wish to deny the use and saving of cookies from
|
||||
this website on to their computers hard drive they should take necessary steps
|
||||
within their web browsers security settings to block all cookies from this
|
||||
website and its external serving vendors.
|
||||
|
||||
This website uses tracking software to monitor its visitors to better understand how they use it. This software is provided by Google Analytics which uses cookies to track visitor usage. The software will save a cookie to your computers hard drive in order to track and monitor your engagement and usage of the website, but will not store, save or collect personal information. You can read [Google's privacy policy here](https://www.google.com/privacy.html) for further information.
|
||||
This website uses tracking software to monitor its visitors to better
|
||||
understand how they use it. This software is provided by Google Analytics which
|
||||
uses cookies to track visitor usage. The software will save a cookie to your
|
||||
computers hard drive in order to track and monitor your engagement and usage of
|
||||
the website, but will not store, save or collect personal information. You can
|
||||
read [Google's privacy policy here](https://www.google.com/privacy.html) for
|
||||
further information.
|
||||
|
||||
Other cookies may be stored to your computers hard drive by external vendors when this website uses referral programs, sponsored links or adverts. Such cookies are used for conversion and referral tracking and typically expire after 30 days, though some may take longer. No personal information is stored, saved or collected.
|
||||
Other cookies may be stored to your computers hard drive by external vendors
|
||||
when this website uses referral programs, sponsored links or adverts. Such
|
||||
cookies are used for conversion and referral tracking and typically expire
|
||||
after 30 days, though some may take longer. No personal information is stored,
|
||||
saved or collected.
|
||||
|
||||
## Contact & Communication ##
|
||||
|
||||
Users contacting this website and/or its owners do so at their own discretion and provide any such personal details requested at their own risk. Your personal information is kept private and stored securely until a time it is no longer required or has no use, as detailed in the Data Protection Act 1998.
|
||||
Users contacting this website and/or its owners do so at their own discretion
|
||||
and provide any such personal details requested at their own risk. Your
|
||||
personal information is kept private and stored securely until a time it is no
|
||||
longer required or has no use, as detailed in the Data Protection Act 1998.
|
||||
|
||||
This website and its owners use any information submitted to provide you with further information about the products / services they offer or to assist you in answering any questions or queries you may have submitted.
|
||||
This website and its owners use any information submitted to provide you with
|
||||
further information about the products / services they offer or to assist you
|
||||
in answering any questions or queries you may have submitted.
|
||||
|
||||
## External Links ##
|
||||
|
||||
Although this website only looks to include quality, safe and relevant external links, users are advised adopt a policy of caution before clicking any external web links mentioned throughout this website.
|
||||
Although this website only looks to include quality, safe and relevant external
|
||||
links, users are advised adopt a policy of caution before clicking any external
|
||||
web links mentioned throughout this website.
|
||||
|
||||
The owners of this website cannot guarantee or verify the contents of any externally linked website despite their best efforts. Users should therefore note they click on external links at their own risk and this website and its owners cannot be held liable for any damages or implications caused by visiting any external links mentioned.
|
||||
The owners of this website cannot guarantee or verify the contents of any
|
||||
externally linked website despite their best efforts. Users should therefore
|
||||
note they click on external links at their own risk and this website and its
|
||||
owners cannot be held liable for any damages or implications caused by visiting
|
||||
any external links mentioned.
|
||||
|
||||
## Adverts and Sponsored Links ##
|
||||
|
||||
This website may contain sponsored links and adverts. These will typically be served through our advertising partners, to whom may have detailed privacy policies relating directly to the adverts they serve.
|
||||
This website may contain sponsored links and adverts. These will typically be
|
||||
served through our advertising partners, to whom may have detailed privacy
|
||||
policies relating directly to the adverts they serve.
|
||||
|
||||
Clicking on any such adverts will send you to the advertisers website through a referral program which may use cookies and will track the number of referrals sent from this website. This may include the use of cookies which may in turn be saved on your computers hard drive. Users should therefore note they click on sponsored external links at their own risk and this website and its owners cannot be held liable for any damages or implications caused by visiting any external links mentioned.
|
||||
Clicking on any such adverts will send you to the advertisers website through a
|
||||
referral program which may use cookies and will track the number of referrals
|
||||
sent from this website. This may include the use of cookies which may in turn
|
||||
be saved on your computers hard drive. Users should therefore note they click
|
||||
on sponsored external links at their own risk and this website and its owners
|
||||
cannot be held liable for any damages or implications caused by visiting any
|
||||
external links mentioned.
|
||||
|
||||
### Social Media Platforms ##
|
||||
|
||||
Communication, engagement and actions taken through external social media platforms that this website and its owners participate on are subject to the terms and conditions as well as the privacy policies held with each social media platform respectively.
|
||||
Communication, engagement and actions taken through external social media
|
||||
platforms that this website and its owners participate on are subject to the
|
||||
terms and conditions as well as the privacy policies held with each social media
|
||||
platform respectively.
|
||||
|
||||
Users are advised to use social media platforms wisely and communicate / engage upon them with due care and caution in regard to their own privacy and personal details. This website nor its owners will ever ask for personal or sensitive information through social media platforms and encourage users wishing to discuss sensitive details to contact them through primary communication channels such as email.
|
||||
Users are advised to use social media platforms wisely and communicate / engage
|
||||
upon them with due care and caution in regard to their own privacy and personal
|
||||
details. This website nor its owners will ever ask for personal or sensitive
|
||||
information through social media platforms and encourage users wishing to
|
||||
discuss sensitive details to contact them through primary communication channels
|
||||
such as email.
|
||||
|
||||
This website may use social sharing buttons which help share web content directly from web pages to the social media platform in question. Users are advised before using such social sharing buttons that they do so at their own discretion and note that the social media platform may track and save your request to share a web page respectively through your social media platform account.
|
||||
This website may use social sharing buttons which help share web content
|
||||
directly from web pages to the social media platform in question. Users are
|
||||
advised before using such social sharing buttons that they do so at their own
|
||||
discretion and note that the social media platform may track and save your
|
||||
request to share a web page respectively through your social media platform
|
||||
account.
|
||||
|
||||
## Use of Cloud API User Data ##
|
||||
|
||||
Rclone is a command-line program to manage files on cloud storage. Its sole purpose is to access and manipulate user content in the [supported](/overview/) cloud storage systems from a local machine of the end user. For accessing the user content via the cloud provider API, Rclone uses authentication mechanisms, such as OAuth or HTTP Cookies, depending on the particular cloud provider offerings. Use of these authentication mechanisms and user data is governed by the privacy policies mentioned in the [Resources & Further Information](/privacy/#resources-further-information) section and followed by the privacy policy of Rclone.
|
||||
Rclone is a command-line program to manage files on cloud storage. Its sole
|
||||
purpose is to access and manipulate user content in the [supported](/overview/)
|
||||
cloud storage systems from a local machine of the end user. For accessing the
|
||||
user content via the cloud provider API, Rclone uses authentication mechanisms,
|
||||
such as OAuth or HTTP Cookies, depending on the particular cloud provider
|
||||
offerings. Use of these authentication mechanisms and user data is governed by
|
||||
the privacy policies mentioned in the [Resources & Further Information](/privacy/#resources-further-information)
|
||||
section and followed by the privacy policy of Rclone.
|
||||
|
||||
- Rclone provides the end user with access to their files available in a storage system associated by the authentication credentials via the publicly exposed API of the storage system.
|
||||
- Rclone allows storing the authentication credentials on the user machine in the local configuration file.
|
||||
- Rclone provides the end user with access to their files available in a storage
|
||||
system associated by the authentication credentials via the publicly exposed API
|
||||
of the storage system.
|
||||
- Rclone allows storing the authentication credentials on the user machine in the
|
||||
local configuration file.
|
||||
- Rclone does not share any user data with third parties.
|
||||
|
||||
## Resources & Further Information ##
|
||||
|
||||
@@ -12,7 +12,8 @@ which can be used to remote control rclone using its API.
|
||||
You can either use the [rc](#api-rc) command to access the API
|
||||
or [use HTTP directly](#api-http).
|
||||
|
||||
If you just want to run a remote control then see the [rcd](/commands/rclone_rcd/) command.
|
||||
If you just want to run a remote control then see the [rcd](/commands/rclone_rcd/)
|
||||
command.
|
||||
|
||||
## Supported parameters
|
||||
|
||||
@@ -102,7 +103,9 @@ Default Off.
|
||||
### --rc-enable-metrics
|
||||
|
||||
Enable OpenMetrics/Prometheus compatible endpoint at `/metrics`.
|
||||
If more control over the metrics is desired (for example running it on a different port or with different auth) then endpoint can be enabled with the `--metrics-*` flags instead.
|
||||
If more control over the metrics is desired (for example running it on a
|
||||
different port or with different auth) then endpoint can be enabled with
|
||||
the `--metrics-*` flags instead.
|
||||
|
||||
Default Off.
|
||||
|
||||
@@ -2396,7 +2399,8 @@ The keys in the error response are:
|
||||
### CORS
|
||||
|
||||
The sever implements basic CORS support and allows all origins for that.
|
||||
The response to a preflight OPTIONS request will echo the requested "Access-Control-Request-Headers" back.
|
||||
The response to a preflight OPTIONS request will echo the requested
|
||||
"Access-Control-Request-Headers" back.
|
||||
|
||||
### Using POST with URL parameters only
|
||||
|
||||
|
||||
Reference in New Issue
Block a user