pikpak: new backend

Fixes #6429
This commit is contained in:
wiserain
2023-04-05 00:33:48 +09:00
committed by GitHub
parent 64cf9ac911
commit 243bcc9d07
13 changed files with 2849 additions and 0 deletions

View File

@@ -152,6 +152,7 @@ WebDAV or S3, that work out of the box.)
{{< provider name="Oracle Object Storage" home="https://www.oracle.com/cloud/storage/object-storage" config="/oracleobjectstorage/" >}}
{{< provider name="ownCloud" home="https://owncloud.org/" config="/webdav/#owncloud" >}}
{{< provider name="pCloud" home="https://www.pcloud.com/" config="/pcloud/" >}}
{{< provider name="PikPak" home="https://mypikpak.com/" config="/pikpak/" >}}
{{< provider name="premiumize.me" home="https://premiumize.me/" config="/premiumizeme/" >}}
{{< provider name="put.io" home="https://put.io/" config="/putio/" >}}
{{< provider name="QingStor" home="https://www.qingcloud.com/products/storage" config="/qingstor/" >}}

View File

@@ -63,6 +63,7 @@ See the following for detailed instructions for
* [OpenDrive](/opendrive/)
* [Oracle Object Storage](/oracleobjectstorage/)
* [Pcloud](/pcloud/)
* [PikPak](/pikpak/)
* [premiumize.me](/premiumizeme/)
* [put.io](/putio/)
* [QingStor](/qingstor/)

View File

@@ -44,6 +44,7 @@ Here is an overview of the major features of each cloud storage system.
| OpenStack Swift | MD5 | R/W | No | No | R/W | - |
| Oracle Object Storage | MD5 | R/W | No | No | R/W | - |
| pCloud | MD5, SHA1 ⁷ | R | No | No | W | - |
| PikPak | MD5 | R | No | No | R | - |
| premiumize.me | - | - | Yes | No | R | - |
| put.io | CRC-32 | R/W | No | Yes | R | - |
| QingStor | MD5 | - ⁹ | No | No | R/W | - |
@@ -494,6 +495,7 @@ upon backend-specific capabilities.
| OpenStack Swift | Yes † | Yes | No | No | No | Yes | Yes | No | Yes | No |
| Oracle Object Storage | No | Yes | No | No | Yes | Yes | Yes | No | No | No |
| pCloud | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
| PikPak | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes |
| premiumize.me | Yes | No | Yes | Yes | No | No | No | Yes | Yes | Yes |
| put.io | Yes | No | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
| QingStor | No | Yes | No | No | Yes | Yes | No | No | No | No |

318
docs/content/pikpak.md Normal file
View File

@@ -0,0 +1,318 @@
---
title: "PikPak"
description: "Rclone docs for PikPak"
versionIntroduced: "v1.62"
---
# {{< icon "fa fa-cloud" >}} PikPak
PikPak is [a private cloud drive](https://mypikpak.com/).
Paths are specified as `remote:path`, and may be as deep as required, e.g. `remote:directory/subdirectory`.
## Configuration
Here is an example of making a remote for PikPak.
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
Enter name for new remote.
name> remote
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
XX / PikPak
\ (pikpak)
Storage> XX
Option user.
Pikpak username.
Enter a value.
user> USERNAME
Option pass.
Pikpak password.
Choose an alternative below.
y) Yes, type in my own password
g) Generate random password
y/g> y
Enter the password:
password:
Confirm the password:
password:
Edit advanced config?
y) Yes
n) No (default)
y/n>
Configuration complete.
Options:
- type: pikpak
- user: USERNAME
- pass: *** ENCRYPTED ***
- token: {"access_token":"eyJ...","token_type":"Bearer","refresh_token":"os...","expiry":"2023-01-26T18:54:32.170582647+09:00"}
Keep this "remote" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
```
{{< rem autogenerated options start" - DO NOT EDIT - instead edit fs.RegInfo in backend/pikpak/pikpak.go then run make backenddocs" >}}
### Standard options
Here are the Standard options specific to pikpak (PikPak).
#### --pikpak-user
Pikpak username.
Properties:
- Config: user
- Env Var: RCLONE_PIKPAK_USER
- Type: string
- Required: true
#### --pikpak-pass
Pikpak password.
**NB** Input to this must be obscured - see [rclone obscure](/commands/rclone_obscure/).
Properties:
- Config: pass
- Env Var: RCLONE_PIKPAK_PASS
- Type: string
- Required: true
### Advanced options
Here are the Advanced options specific to pikpak (PikPak).
#### --pikpak-client-id
OAuth Client Id.
Leave blank normally.
Properties:
- Config: client_id
- Env Var: RCLONE_PIKPAK_CLIENT_ID
- Type: string
- Required: false
#### --pikpak-client-secret
OAuth Client Secret.
Leave blank normally.
Properties:
- Config: client_secret
- Env Var: RCLONE_PIKPAK_CLIENT_SECRET
- Type: string
- Required: false
#### --pikpak-token
OAuth Access Token as a JSON blob.
Properties:
- Config: token
- Env Var: RCLONE_PIKPAK_TOKEN
- Type: string
- Required: false
#### --pikpak-auth-url
Auth server URL.
Leave blank to use the provider defaults.
Properties:
- Config: auth_url
- Env Var: RCLONE_PIKPAK_AUTH_URL
- Type: string
- Required: false
#### --pikpak-token-url
Token server url.
Leave blank to use the provider defaults.
Properties:
- Config: token_url
- Env Var: RCLONE_PIKPAK_TOKEN_URL
- Type: string
- Required: false
#### --pikpak-root-folder-id
ID of the root folder.
Leave blank normally.
Fill in for rclone to use a non root folder as its starting point.
Properties:
- Config: root_folder_id
- Env Var: RCLONE_PIKPAK_ROOT_FOLDER_ID
- Type: string
- Required: false
#### --pikpak-use-trash
Send files to the trash instead of deleting permanently.
Defaults to true, namely sending files to the trash.
Use `--pikpak-use-trash=false` to delete files permanently instead.
Properties:
- Config: use_trash
- Env Var: RCLONE_PIKPAK_USE_TRASH
- Type: bool
- Default: true
#### --pikpak-trashed-only
Only show files that are in the trash.
This will show trashed files in their original directory structure.
Properties:
- Config: trashed_only
- Env Var: RCLONE_PIKPAK_TRASHED_ONLY
- Type: bool
- Default: false
#### --pikpak-hash-memory-limit
Files bigger than this will be cached on disk to calculate hash if required.
Properties:
- Config: hash_memory_limit
- Env Var: RCLONE_PIKPAK_HASH_MEMORY_LIMIT
- Type: SizeSuffix
- Default: 10Mi
#### --pikpak-multi-thread-streams
Max number of streams to use for multi-thread downloads.
This will override global flag `--multi-thread-streams` and defaults to 1 to avoid rate limiting.
Properties:
- Config: multi_thread_streams
- Env Var: RCLONE_PIKPAK_MULTI_THREAD_STREAMS
- Type: int
- Default: 1
#### --pikpak-encoding
The encoding for the backend.
See the [encoding section in the overview](/overview/#encoding) for more info.
Properties:
- Config: encoding
- Env Var: RCLONE_PIKPAK_ENCODING
- Type: MultiEncoder
- Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot
## Backend commands
Here are the commands specific to the pikpak backend.
Run them with
rclone backend COMMAND remote:
The help below will explain what arguments each command takes.
See the [backend](/commands/rclone_backend/) command for more
info on how to pass options and arguments.
These can be run on a running backend using the rc command
[backend/command](/rc/#backend-command).
### addurl
Add offline download task for url
rclone backend addurl remote: [options] [<arguments>+]
This command adds offline download task for url.
Usage:
rclone backend addurl pikpak:dirpath url
Downloads will be stored in 'dirpath'. If 'dirpath' is invalid,
download will fallback to default 'My Pack' folder.
### decompress
Request decompress of a file/files in a folder
rclone backend decompress remote: [options] [<arguments>+]
This command requests decompress of file/files in a folder.
Usage:
rclone backend decompress pikpak:dirpath {filename} -o password=password
rclone backend decompress pikpak:dirpath {filename} -o delete-src-file
An optional argument 'filename' can be specified for a file located in
'pikpak:dirpath'. You may want to pass '-o password=password' for a
password-protected files. Also, pass '-o delete-src-file' to delete
source files after decompression finished.
Result:
{
"Decompressed": 17,
"SourceDeleted": 0,
"Errors": 0
}
{{< rem autogenerated options stop >}}
## Limitations ##
### Hashes ###
PikPak supports MD5 hash, but sometimes given empty especially for user-uploaded files.
### Deleted files ###
Deleted files will still be visible with `--pikpak-trashed-only` even after the trash emptied. This goes away after few days.