mirror of
https://github.com/rclone/rclone.git
synced 2025-12-06 00:03:32 +00:00
Add a new backend for uloz.to
Note that this temporarily skips uploads of files over 2.5 GB. See https://github.com/rclone/rclone/pull/7552#issuecomment-1956316492 for details.
This commit is contained in:
@@ -180,6 +180,7 @@ WebDAV or S3, that work out of the box.)
|
||||
{{< provider name="Synology" home="https://c2.synology.com/en-global/object-storage/overview" config="/s3/#synology-c2" >}}
|
||||
{{< provider name="SugarSync" home="https://sugarsync.com/" config="/sugarsync/" >}}
|
||||
{{< provider name="Tencent Cloud Object Storage (COS)" home="https://intl.cloud.tencent.com/product/cos" config="/s3/#tencent-cos" >}}
|
||||
{{< provider name="Uloz.to" home="https://uloz.to" config="/ulozto/" >}}
|
||||
{{< provider name="Uptobox" home="https://uptobox.com" config="/uptobox/" >}}
|
||||
{{< provider name="Wasabi" home="https://wasabi.com/" config="/s3/#wasabi" >}}
|
||||
{{< provider name="WebDAV" home="https://en.wikipedia.org/wiki/WebDAV" config="/webdav/" >}}
|
||||
|
||||
@@ -77,6 +77,7 @@ See the following for detailed instructions for
|
||||
* [Storj](/storj/)
|
||||
* [SugarSync](/sugarsync/)
|
||||
* [Union](/union/)
|
||||
* [Uloz.to](/ulozto/)
|
||||
* [Uptobox](/uptobox/)
|
||||
* [WebDAV](/webdav/)
|
||||
* [Yandex Disk](/yandex/)
|
||||
|
||||
@@ -57,6 +57,7 @@ Here is an overview of the major features of each cloud storage system.
|
||||
| SMB | - | R/W | Yes | No | - | - |
|
||||
| SugarSync | - | - | No | No | - | - |
|
||||
| Storj | - | R | No | No | - | - |
|
||||
| Uloz.to | MD5, SHA256 ¹³ | - | No | Yes | - | - |
|
||||
| Uptobox | - | - | No | Yes | - | - |
|
||||
| WebDAV | MD5, SHA1 ³ | R ⁴ | Depends | No | - | - |
|
||||
| Yandex Disk | MD5 | R/W | No | No | R | - |
|
||||
@@ -100,6 +101,9 @@ hash](https://static.hidrive.com/dev/0001).
|
||||
It combines SHA1 sums for each 4 KiB block hierarchically to a single
|
||||
top-level sum.
|
||||
|
||||
¹³ Uloz.to provides server-calculated MD5 hash upon file upload. MD5 and SHA256
|
||||
hashes are client-calculated and stored as metadata fields.
|
||||
|
||||
### Hash ###
|
||||
|
||||
The cloud storage system supports various hash types of the objects.
|
||||
@@ -523,6 +527,7 @@ upon backend-specific capabilities.
|
||||
| SMB | No | No | Yes | Yes | No | No | Yes | Yes | No | No | Yes |
|
||||
| SugarSync | Yes | Yes | Yes | Yes | No | No | Yes | No | Yes | No | Yes |
|
||||
| Storj | Yes ² | Yes | Yes | No | No | Yes | Yes | No | Yes | No | No |
|
||||
| Uloz.to | No | No | No | No | No | No | No | No | No | No | Yes |
|
||||
| Uptobox | No | Yes | Yes | Yes | No | No | No | No | No | No | No |
|
||||
| WebDAV | Yes | Yes | Yes | Yes | No | No | Yes ³ | No | No | Yes | Yes |
|
||||
| Yandex Disk | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes |
|
||||
|
||||
247
docs/content/ulozto.md
Normal file
247
docs/content/ulozto.md
Normal file
@@ -0,0 +1,247 @@
|
||||
---
|
||||
title: "Uloz.to"
|
||||
description: "Rclone docs for Uloz.to"
|
||||
versionIntroduced: "v1.66"
|
||||
---
|
||||
|
||||
# {{< icon "fa fa-box-archive" >}} Uloz.to
|
||||
|
||||
Paths are specified as `remote:path`
|
||||
|
||||
Paths may be as deep as required, e.g. `remote:directory/subdirectory`.
|
||||
|
||||
The initial setup for Box involves filling in the user credentials.
|
||||
`rclone config` walks you through it.
|
||||
|
||||
## Configuration
|
||||
|
||||
Here is an example of how to make a remote called `remote`. First run:
|
||||
|
||||
rclone config
|
||||
|
||||
This will guide you through an interactive setup process:
|
||||
|
||||
```
|
||||
No remotes found, make a new one?
|
||||
n) New remote
|
||||
s) Set configuration password
|
||||
q) Quit config
|
||||
n/s/q> n
|
||||
name> remote
|
||||
Type of storage to configure.
|
||||
Choose a number from below, or type in your own value
|
||||
[snip]
|
||||
XX / Uloz.to
|
||||
\ "ulozto"
|
||||
[snip]
|
||||
Storage> ulozto
|
||||
|
||||
Option app_token.
|
||||
The application token identifying the app. An app API key can be either found in the API doc
|
||||
https://uloz.to/upload-resumable-api-beta or obtained from customer service.
|
||||
Enter a value. Press Enter to leave empty.
|
||||
app_token> token_value
|
||||
|
||||
Option username.
|
||||
The username of the principal to operate as.
|
||||
Enter a value. Press Enter to leave empty.
|
||||
username> user
|
||||
|
||||
Option password.
|
||||
The password for the user.
|
||||
Enter a value. Press Enter to leave empty.
|
||||
password> secretPassword
|
||||
|
||||
Edit advanced config?
|
||||
y) Yes
|
||||
n) No (default)
|
||||
y/n> n
|
||||
|
||||
Keep this "remote" remote?
|
||||
y) Yes this is OK (default)
|
||||
e) Edit this remote
|
||||
d) Delete this remote
|
||||
y/e/d> y
|
||||
```
|
||||
|
||||
Once configured you can then use `rclone` like this,
|
||||
|
||||
List folders in root level folder:
|
||||
|
||||
rclone lsd remote:
|
||||
|
||||
List all the files in your root folder:
|
||||
|
||||
rclone ls remote:
|
||||
|
||||
To copy a local folder to a Uloz.to folder called backup:
|
||||
|
||||
rclone copy /home/source remote:backup
|
||||
|
||||
### User credentials
|
||||
The only reliable method is to authenticate the user using
|
||||
username and password. Uloz.to offers anb API key as well, but
|
||||
it's reserved for the use of Uloz.to's in-house application
|
||||
and using it in different circumstances is unreliable.
|
||||
|
||||
### Modification times and hashes
|
||||
|
||||
Uloz.to doesn't allow the user to set a custom modification time,
|
||||
or retrieve the hashes after upload. As a result, the integration
|
||||
uses a free form field the API provides to encode client-provided
|
||||
timestamps and hashes. Timestamps are stored with microsecond
|
||||
precision.
|
||||
|
||||
A server calculated MD5 hash of the file is verified upon upload.
|
||||
Afterwards, the backend only serves the client-side calculated
|
||||
hashes.
|
||||
|
||||
### Restricted filename characters
|
||||
|
||||
In addition to the [default restricted characters set](/overview/#restricted-characters)
|
||||
the following characters are also replaced:
|
||||
|
||||
| Character | Value | Replacement |
|
||||
| --------- |:-----:|:-----------:|
|
||||
| \ | 0x5C | \ |
|
||||
|
||||
Invalid UTF-8 bytes will also be [replaced](/overview/#invalid-utf8),
|
||||
as they can't be used in JSON strings.
|
||||
|
||||
### Transfers
|
||||
|
||||
All files are currently uploaded using a single HTTP request, so
|
||||
for uploading large files a stable connection is necesary. Rclone will
|
||||
upload up to `--transfers` chunks at the same time (shared among all
|
||||
uploads).
|
||||
|
||||
### Deleting files
|
||||
|
||||
By default, files are moved to the recycle bin whereas folders
|
||||
are deleted immediately. Trashed files are permanently deleted after
|
||||
30 days in the recycle bin.
|
||||
|
||||
Emptying the trash is currently not implemented in rclone.
|
||||
|
||||
### Root folder ID
|
||||
|
||||
You can set the `root_folder_slug` for rclone. This is the folder
|
||||
(identified by its `Folder slug`) that rclone considers to be the root
|
||||
of your Uloz.to drive.
|
||||
|
||||
Normally you will leave this blank and rclone will determine the
|
||||
correct root to use itself. However you can set this to restrict rclone
|
||||
to a specific folder hierarchy.
|
||||
|
||||
In order to do this you will have to find the `Folder slug` of the
|
||||
folder you wish to use as root. This will be the last segment
|
||||
of the URL when you open the relevant folder in the Box web
|
||||
interface.
|
||||
|
||||
For example, for exploring a folder with URL
|
||||
`https://uloz.to/fm/my-files/foobar`, `foobar` should be used as the
|
||||
root slug.
|
||||
|
||||
`root_folder_slug` can be used alongside a specific path in the remote
|
||||
path. For example, if your remote's `root_folder_slug` corresponds to `/foo/bar`,
|
||||
`remote:baz/qux` will refer to `ABSOLUTE_ULOZTO_ROOT/foo/bar/baz/qux`.
|
||||
|
||||
{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/ulozto/ulozto.go then run make backenddocs" >}}
|
||||
### Standard options
|
||||
|
||||
Here are the Standard options specific to ulozto (Uloz.to).
|
||||
|
||||
#### --ulozto-app-token
|
||||
|
||||
The application token identifying the app. An app API key can be either found in the API doc https://uloz.to/upload-resumable-api-beta or obtained from customer service.
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: app_token
|
||||
- Env Var: RCLONE_ULOZTO_APP_TOKEN
|
||||
- Type: string
|
||||
- Required: false
|
||||
|
||||
#### --ulozto-username
|
||||
|
||||
The username of the principal to operate as.
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: username
|
||||
- Env Var: RCLONE_ULOZTO_USERNAME
|
||||
- Type: string
|
||||
- Required: false
|
||||
|
||||
#### --ulozto-password
|
||||
|
||||
The password for the user.
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: password
|
||||
- Env Var: RCLONE_ULOZTO_PASSWORD
|
||||
- Type: string
|
||||
- Required: false
|
||||
|
||||
### Advanced options
|
||||
|
||||
Here are the Advanced options specific to ulozto (Uloz.to).
|
||||
|
||||
#### --ulozto-root-folder-slug
|
||||
|
||||
If set, rclone will use this folder as the root folder for all operations. For example, if the slug identifies 'foo/bar/', 'ulozto:baz' is equivalent to 'ulozto:foo/bar/baz' without any root slug set.
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: root_folder_slug
|
||||
- Env Var: RCLONE_ULOZTO_ROOT_FOLDER_SLUG
|
||||
- Type: string
|
||||
- Required: false
|
||||
|
||||
#### --ulozto-list-page-size
|
||||
|
||||
The size of a single page for list commands. 1-500
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: list_page_size
|
||||
- Env Var: RCLONE_ULOZTO_LIST_PAGE_SIZE
|
||||
- Type: int
|
||||
- Default: 500
|
||||
|
||||
#### --ulozto-encoding
|
||||
|
||||
The encoding for the backend.
|
||||
|
||||
See the [encoding section in the overview](/overview/#encoding) for more info.
|
||||
|
||||
Properties:
|
||||
|
||||
- Config: encoding
|
||||
- Env Var: RCLONE_ULOZTO_ENCODING
|
||||
- Type: Encoding
|
||||
- Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
|
||||
|
||||
{{< rem autogenerated options stop >}}
|
||||
|
||||
## Limitations
|
||||
|
||||
Uloz.to file names can't have the `\` character in. rclone maps this to
|
||||
and from an identical looking unicode equivalent `\` (U+FF3C Fullwidth
|
||||
Reverse Solidus).
|
||||
|
||||
Uloz.to only supports filenames up to 255 characters in length.
|
||||
|
||||
Uloz.to rate limits access to the API, but exact details are undisclosed.
|
||||
Practical testing reveals that hitting the rate limit during normal use
|
||||
is very rare, although not impossible with higher number of concurrently
|
||||
uploaded files.
|
||||
|
||||
`rclone about` is not supported by the Uloz.to backend. Although
|
||||
there's an endpoint to retrieve the information for the UI, it's not
|
||||
exposed in the API. Backends without this capability cannot determine
|
||||
free space for an rclone mount or use policy `mfs` (most free space)
|
||||
as a member of an rclone union remote.
|
||||
|
||||
See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
|
||||
Reference in New Issue
Block a user