Commit Graph

731 Commits (b07ddfbc130829b7b0b8e75837aae780c9863444)

Author SHA1 Message Date
Andy Hsu 7600dc28df fix(aliyundrive_open): change default api to raw server (close #5358) 2023-10-10 18:13:58 +08:00
foxxorcat 8ef89ad0a4
fix(baidu_netdisk): hash and `error 2` (#5356)
* fix(baidu):hash and error:2

* fix:invalid memory address
2023-10-10 18:08:27 +08:00
jeffmingup 35d672217d
fix(onedrive_app): incorrect api on `_accessToken` (#5346) 2023-10-08 19:29:45 +08:00
foxxorcat 1a283bb272
feat(google_drive): add `hash_info`, `ctime`, `thumbnail` (#5334) 2023-10-06 16:04:39 +08:00
Andy Hsu 0fd51646f6 feat(onedrive): custom host for download link (close #5310) 2023-10-02 14:07:47 +08:00
Andy Hsu e8958019d9 fix(115): allow use proxy directly (close #5324) 2023-10-02 14:00:13 +08:00
URenko e1ef690784
fix(terabox): encode parameters for `filemanager` api (#5308) 2023-10-01 16:58:29 +08:00
LaoShui 4024050dd0
chore: fix typo (#5316) 2023-10-01 16:58:00 +08:00
Nick Wang fb13dae136
feat(crypt): optional pre-generated thumbnails (#5284) 2023-09-27 13:57:10 +08:00
Andy Hsu 6b67a36d63 fix(terabox): auto refresh `JsToken` (close #5277) 2023-09-25 16:38:05 +08:00
Andy Hsu a64dd4885e fix(139): fixed time zone (close #5263) 2023-09-22 16:54:16 +08:00
Andy Hsu 106cf720c1 fix(baidu_netdisk): retry logic in request (close #5262) 2023-09-22 16:27:44 +08:00
Ovear 2a6ab77295
fix(115): data race in `Link` (#5253) 2023-09-21 13:39:07 +08:00
Andy Hsu f0981a0c8d chore(virtual): implement the driver interface with result 2023-09-20 09:02:56 +08:00
tcbx99 19b39a5c04
fix(onedrive): overwrite upload big file (close #5217 in #5218)
See https://learn.microsoft.com/zh-cn/onedrive/developer/rest-api/api/driveitem_createuploadsession
2023-09-14 13:38:07 +08:00
Andy Hsu b1a279cbcc feat(139): implement `MoveResult` interface (close #5130) 2023-09-13 15:56:13 +08:00
Andy Hsu 9e0fa77ca2 feat: add 123 link driver (close #4924) 2023-09-10 16:50:10 +08:00
Andy Hsu 335b11c698 chore: implement the driver interface with obj return [skip ci] 2023-09-08 15:25:49 +08:00
Andy Hsu 8e433355e6 fix(terabox): missing `JsToken` field on request (close #5189) 2023-09-08 15:18:56 +08:00
Andy Hsu 623c7dcea5 fix(189pc): get real link after redirect 2023-09-06 16:02:28 +08:00
foxxorcat ecbd6d86cd
fix(lanzou): sub file in share folder need pwd (#5184) 2023-09-06 14:48:12 +08:00
foxxorcat 7200344ace
feat: adapt hash feature for some drivers (#5180)
* feat(pikpak,thunder): adaptation gcid hash

* chore(weiyun): add note

* feat(baidu_netdisk): adaptation rapid

* feat(baidu_photo): adaptation hash

* feat(189pc): adaptation rapid

* feat(mopan):adaptation ctime

* feat(139):adaptation hash and ctime

---------

Co-authored-by: Andy Hsu <i@nn.ci>
2023-09-06 14:46:35 +08:00
Andy Hsu f6ab1f7f61 perf(ftp): non use `SIZE FTP` command (close #5150) 2023-09-03 18:47:32 +08:00
Sean 8e40465e86
fix(aliyundrive_open): date format on uploading (#5151)
(cherry picked from commit 88f815979ac91caa8bc425a2ff9a18bbd8a2e736)
2023-09-03 18:12:05 +08:00
Sean 37dffd0fce
feat(crypt): customize `filename_encoding` (#5148)
close #5109
close #5080
2023-09-03 18:06:44 +08:00
Sean e7c0d94b44
fix: form upload when ticked `As A Task` (#5145) 2023-09-03 15:40:40 +08:00
Andy Hsu dd10c0c5d0 chore(aliyundrive_open): print resp content on refresh token (close #5129) 2023-08-31 18:43:25 +08:00
Andy Hsu 34fadecc2c fix(ftp): dead lock on `Read` (close #5128) 2023-08-31 15:10:47 +08:00
Kuingsmile 092ed06833
feat(uss): add `AntiTheftChainToken` field (#5115)
* feat(uss): add AntiTheftChainToken; fix link func

* feat(uss): optimize _upt generation
2023-08-30 15:16:26 +08:00
Sean 6308f1c35d
fix: updateTime, createTime and HashInfo (#5111) 2023-08-29 13:31:24 +08:00
Andy Hsu b301b791c7 fix(local): set create and modified time for new file (close #4938) 2023-08-27 23:05:13 +08:00
Sean a3748af772
feat: misc improvements about upload/copy/hash (#5045)
general: add createTime/updateTime support in webdav and some drivers
general: add hash support in some drivers
general: cross-storage rapid-upload support
general: enhance upload to avoid local temp file if possible
general: replace readseekcloser with File interface to speed upstream operations
feat(aliyun_open): same as above
feat(crypt): add hack for 139cloud

Close #4934 
Close #4819 

baidu_netdisk needs to improve the upload code to support rapid-upload
2023-08-27 21:14:23 +08:00
foxxorcat 8f493cccc4
fix(mopan): parameter error (#5091) 2023-08-25 14:10:05 +08:00
Myth 31a033dff1
fix(lanzou): download cannot find data (#5088) 2023-08-24 21:56:20 +08:00
foxxorcat 358c5055e9
fix(lanzou): download not find file sgin (close #5046 in #5048) 2023-08-20 13:08:57 +08:00
Andy Hsu 3bbae29f93 feat(cloudreve): add custom user-agent (close #5020) 2023-08-17 19:41:21 +08:00
Andy Hsu 13e8d36e1a fix(aliyundrive_open): use `RawStdEncoding` for base64 2023-08-13 20:52:38 +08:00
Andy Hsu 5606c23768 perf(copy): use multi-thread downloader (close #5000) 2023-08-13 15:31:49 +08:00
foxxorcat c1db3a36ad
feat: upload progress recovery (#4987)
* feat(189pc):upload progress recovery

* fix:some err

* feat(baidu_netdisk,baidu_photo):upload progress recovery

* feat(mopan):upload progress recovery

* feat(baidu_netdisk):custom upload api
2023-08-11 14:23:30 +08:00
Andy Hsu c59dbb4f9e fix(local): files get deleted when copied to other storage (close #4983) 2023-08-10 16:42:09 +08:00
foxxorcat df6b306fce
perf(drivers): fs operations and cache (#4965)
* perf(baidu_photo):multi-thread upload

* perf(baidu_netdisk):multi-thread upload and cache optimization

* fix:LimitWriter

* fix(weiyun):only one login is allowed

* feat(189pc):multi threaded upload

* feat(baidu_netdisk):multi threaded upload

* feat(baidu_photo):multi threaded upload

* feat(weiyun):multi threaded upload

* perf(aliyundriver_open):optimize upload code and optimize cache

* fix(weiyun):invalid directory ID

* fix(baidu_netdisk):modified time

* fix(baidu_netdisk,baidu_photo):upload slice error

* perf(baidu_netdisk):cancel unnecessary retries

* fix(limitWriter):must return a non-nil error if it returns n < len(p)

* fix(aliyundrive_open):Name and Filename only use one

* perf(mopan):multi-thread upload
2023-08-09 16:13:09 +08:00
Andy Hsu b91ed7a78a fix(aliyundrive_open): retry refresh token if sub not match 2023-08-08 22:08:05 +08:00
Andy Hsu 95386d777b feat(aliyundrive_open): record token exchange 2023-08-08 20:38:13 +08:00
Sean 7877184bee
feat(baidu_netdisk): add retry to most operations (close #4863 in #4939) 2023-08-07 13:44:28 +08:00
Andy Hsu 6c1c7e5cc0 fix(wopan): missing `familyID` on mkdir (close #4927) 2023-08-04 22:26:56 +08:00
Sean 15b7169df4
perf: multi-thread downloader, `Content-Disposition` (#4921)
general: enhance multi-thread downloader with cancelable context, immediately stop all stream processes when canceled;
feat(crypt): improve stream closing;
general: fix the bug of downloading files becomes previewing stream on modern browsers;

Co-authored-by: Sean He <866155+seanhe26@users.noreply.github.com>
Co-authored-by: Andy Hsu <i@nn.ci>
2023-08-04 15:29:54 +08:00
Bnq Dzj e5ffd39cf2
feat: add 123Pan Share driver (close #4853 in #4898)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-08-03 15:01:43 +08:00
foxxorcat 49bde82426 perf(189pc): empty file upload and cache optimization (#4913)
- login captcha error
- cache optimization
- upload empty file
2023-08-03 14:08:40 +08:00
foxxorcat 3e285aaec4
feat: add `weiyun` support (close #4802 in #4883)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-08-02 21:39:59 +08:00
Andy Hsu a69d72aa20 feat(aliyundrive_open): support resource drive (close #4889) 2023-08-02 15:50:01 +08:00
Sean 3c21a9a520
feat: Crypt driver, improve http/webdav handling (#4884)
this PR has several enhancements, fixes, and features:
- [x] Crypt: a transparent encryption driver. Anyone can easily, and safely store encrypted data on the remote storage provider.  Consider your data is safely stored in the safe, and the storage provider can only see the safe, but not your data.
  - [x] Optional: compatible with [Rclone Crypt](https://rclone.org/crypt/). More ways to manipulate the encrypted data.
  - [x] directory and filename encryption
  - [x] server-side encryption mode (server encrypts & decrypts all data, all data flows thru the server)
- [x] obfuscate sensitive information internally
- [x] introduced a server memory-cached multi-thread downloader.
  - [x] Driver: **Quark** enabled this feature, faster load in any single thread scenario. e.g. media player directly playing from the link, now it's faster.
- [x] general improvement on HTTP/WebDAV stream processing & header handling & response handling
  - [x] Driver: **Mega** driver support ranged http header
  - [x] Driver: **Quark** fix bug of not closing HTTP request to Quark server while user end has closed connection to alist

## Crypt, a transparent Encrypt/Decrypt Driver. (Rclone Crypt compatible)

e.g.  
Crypt mount path ->  /vault 
Crypt remote path -> /ali/encrypted
Aliyun mount paht -> /ali

when the user uploads a.jpg to /vault, the data will be encrypted and saved to /ali/encrypted/xxxxx. And when the user wants to access a.jpg,  it's automatically decrypted, and the user can do anything with it.
Since it's Rclone Crypt compatible, users can download /ali/encrypted/xxxxx  and decrypt it with rclone crypt tool. Or the user can mount this folder using rclone, then mount the decrypted folder in Linux...

NB.  Some breaking changes is made to make it follow global standard, e.g. processing the HTTP header properly.

close #4679 
close #4827 

Co-authored-by: Sean He <866155+seanhe26@users.noreply.github.com>
Co-authored-by: Andy Hsu <i@nn.ci>
2023-08-02 14:40:36 +08:00
Andy Hsu 1dc1dd1f07 feat(aliyundrive_open): support `livp` format file download (close #4890) 2023-08-01 21:50:25 +08:00
foxxorcat c9ea9bce81
feat(lanzou): support login with account (close #4880 in #4885) 2023-08-01 19:44:57 +08:00
foxxorcat 9f08353d31
feat(baidu_photo): optional delete album origin file (close #4872 in #4875) 2023-07-31 18:29:45 +08:00
foxxorcat 06f46206db
fix(baidu_photo): album download (close #4603 in #4871)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-07-31 16:27:16 +08:00
Andy Hsu b12d92acc9 perf(baidu_netdisk): optimize memory allocate 2023-07-29 17:12:43 +08:00
Andy Hsu 7e9cdd8b07 fix(aliyundrive_open): fail limit on concurrently call (#4851) 2023-07-28 15:55:39 +08:00
meozky cee6bc6b5d
fix(terabox): slice out of range (close #4858 in #4860) 2023-07-28 15:52:20 +08:00
Andy Hsu cfd23c05b4 fix(139): upload empty file (close #4711) 2023-07-27 19:26:22 +08:00
Andy Hsu 2e23ea68d4 fix(aliyundrive_open): increase limit interval (close #4851) 2023-07-27 18:26:11 +08:00
Bnq Dzj 4afa822bec
fix(123): Use APP-side API (close #4834 in #4856) 2023-07-27 15:51:59 +08:00
Andy Hsu 4c2535cb22 fix(115): `user-agent` lost on upload (close #4831) 2023-07-23 15:18:33 +08:00
Andy Hsu d4ea8787c9 fix(123): upload file size that less than 16 MB (close #4816) 2023-07-21 14:35:18 +08:00
Rui Tang a4de04528a
fix(123): `auth-key` verification (close #4811 in #4814)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-07-21 14:33:45 +08:00
Andy Hsu 6ec9a8d4c7 fix(aliyundrive_open): the temp file is not delete (close #4777) 2023-07-16 15:01:22 +08:00
Andy Hsu 3f7882b467 feat(aliyundrive_open): rapid upload (close #4766) 2023-07-15 19:33:46 +08:00
Andy Hsu a4511c1963 refactor: change hash function 2023-07-15 16:29:44 +08:00
Andy Hsu 9d1f122717 fix(local): thumbnail rotated if exist orientation tag (close #4749) 2023-07-15 14:31:03 +08:00
Andy Hsu 5dd73d80d8 fix(123): remove stream upload method (close #4772) 2023-07-14 19:12:18 +08:00
Andy Hsu fce872bc1b feat(123): thumbnail support (#3953) 2023-07-14 14:43:40 +08:00
Andy Hsu df6c4c80c2 fix(123): update app-version (close #4758) 2023-07-14 14:17:29 +08:00
Andy Hsu d2ff040cf8 feat(s3): add `SessionToken` field (close #4761) 2023-07-13 15:58:19 +08:00
foxxorcat a31af209cc
fix(pikpak): hash calculation and fast upload judgment (#4745 fix #1081) 2023-07-11 22:19:21 +08:00
Andy Hsu 6887f14ec6 feat(pikpak): allow disable media link (close #4735) 2023-07-11 13:40:58 +08:00
Andy Hsu 61101a60f4 fix(s3): unable to copy empty folder (close #4620) 2023-07-10 14:55:19 +08:00
foxxorcat 3529023bf9
fix(mopan): size field type(close #4734 in #4736) 2023-07-10 14:25:27 +08:00
Andy Hsu fa66358b1e fix(sftp): read target obj of symlink file (close #4713) 2023-07-09 14:42:57 +08:00
Andy Hsu d17f7f7cad fix(123): judge status on get redirect_url (close #4718) 2023-07-07 19:55:37 +08:00
Andy Hsu 4fabc27366 fix(aliyundrive_open): panic if driver not init 2023-07-05 13:51:46 +08:00
Andy Hsu 5e8bfb017e fix(123): add `Referer` to request (close #4631) 2023-07-04 18:36:46 +08:00
foxxorcat f09bb88846
fix(thunder): upload issues (close #4663 in #4667) 2023-06-29 13:21:30 +08:00
foxxorcat c518f59528
feat: add `MoPan` driver (close #4325 in #4659)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-06-28 14:53:43 +08:00
wenmig 21b8e7f6e5
fix(aliyundrive_share): add limit rate and lift rate limit restrictions (#4587) 2023-06-26 14:49:21 +08:00
Andy Hsu 2ae9cd8634 fix(dropbox): failed get link in #4639
close cfee536b96 (commitcomment-119404554)
2023-06-25 17:07:31 +08:00
wenmig cfee536b96
feat: add Dropbox driver (#4639 close #4590)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-06-23 17:36:40 +08:00
william 1c8fe3b24c
fix(aliyundrive_open): adaptive part size adjustment (#4609)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-06-23 14:25:30 +08:00
Andy Hsu 84e23c397d fix(baidu_netdisk): rollback #3652 (close #4628) 2023-06-21 18:37:25 +08:00
Andy Hsu f7baec2e65 feat: add `WoPan` driver (close #4541) 2023-06-17 20:20:00 +08:00
wenmig 378bab32f1
chore(aliyundrive_share): increase the `limit` of the list api (#4588) 2023-06-17 20:10:34 +08:00
Andy Hsu 6cd8151cad fix(aliyundrive_open): change default `oauth_token_url` 2023-06-16 15:03:27 +08:00
Andy Hsu ca5a53fc24 fix(aliyundrive_open): `openFile/list` rate limit 2023-06-11 18:18:09 +08:00
Andy Hsu e23f00f349 fix(139): avoid panic due to `Authorization` for emptiness 2023-06-10 00:12:04 +08:00
Andy Hsu a66b0e0151 feat(139): auto extract account from `Authorization` 2023-06-09 23:41:41 +08:00
Andy Hsu 3bfa00d5d2 fix(189pc): add `REQID` header 2023-06-09 23:33:12 +08:00
Andy Hsu 6cbd2532cc fix(139): modify the authentication mode 2023-06-09 23:02:02 +08:00
hunshcn 47976af0d3
feat: set `ProxyFromEnvironment` for default http client (#4546) 2023-06-09 22:08:54 +08:00
Andy Hsu 4dca52be85 fix(s3): optional add filename to disposition (close #4538) 2023-06-06 22:47:27 +08:00
Andy Hsu 1e62666406 feat(baidu_netdisk): allow custom crack ua 2023-06-04 15:57:41 +08:00
Andy Hsu b124fdc092 perf(baidu): avoid refreshing the token on every startup 2023-06-02 18:31:42 +08:00
KAAAsS 8421c72c5c
fix(seafile): driver panic while downloading or uploading file (#4491)
Co-authored-by: Andy Hsu <i@nn.ci>
2023-05-28 16:45:46 +08:00