Commit Graph

17 Commits (main)

Author SHA1 Message Date
Andy Hsu f0981a0c8d chore(virtual): implement the driver interface with result 2023-09-20 09:02:56 +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
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
foxxorcat 33bae52fa1
refactor: optimize driver initialization need to manually deserialize and assign values, and remove redundant driver registration parameters (#2691)
* refactor: optimize driver initialization need to manually deserialize and assign values, and remove redundant driver registration parameters

* fix typo

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-13 18:03:30 +08:00
Noah Hsu cd73e34ccc chore: optional `other` interface 2022-09-11 18:40:19 +08:00
Noah Hsu a1c86b3350 chore!: change root folder 2022-09-04 13:22:42 +08:00
Noah Hsu 0f2425ce53 feat: add teambition driver 2022-09-02 18:24:14 +08:00
Noah Hsu 284274b37e feat: add 123pan driver 2022-09-01 22:13:37 +08:00
Noah Hsu 7ac1d14eeb style: shorten name `operations` to `op` 2022-08-31 21:01:15 +08:00
Noah Hsu 9ec6d5be7a chore: just use std errors in drivers 2022-08-31 20:58:57 +08:00
Noah Hsu f551dc76d0 feat: add onedrive driver 2022-08-30 21:52:06 +08:00
Noah Hsu 59ec17a353 feat: add driver config in driver info 2022-08-30 14:39:10 +08:00
Noah Hsu cc9ccc4e9b ci: auto generate drivers lang file 2022-08-26 19:06:32 +08:00
Noah Hsu 7425e001db feat: auto generate drivers language json 2022-08-26 15:08:31 +08:00
Noah Hsu af884010d1 feat: local storage image thumbnail 2022-08-11 20:32:17 +08:00
Noah Hsu 721f18a7f4 feat: fs other api 2022-08-03 14:14:37 +08:00
Noah Hsu 90a5c175ed feat: virtual driver 2022-07-19 19:55:54 +08:00