Commit Graph

67 Commits (5f8284e4660d539b44bba06aca735c5fcf004f92)

Author SHA1 Message Date
Andy Hsu 94f257e557 fix(local): crush on android
closes #5874
closes #6567
2024-07-21 20:48:48 +08:00
Andy Hsu 34b73b94f7 feat(local): allow specifying the recycle bin path (close #5832) 2024-01-09 18:51:21 +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
Andy Hsu c59dbb4f9e fix(local): files get deleted when copied to other storage (close #4983) 2023-08-10 16:42:09 +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 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 daad61443c feat(local): support thumbnail cache (close #4216) 2023-05-11 19:57:24 +08:00
XZB-1248 0eab31bdf5
fix(local): filename with whitespace issue (#3928)
* fix(local): filename whitespace problem

* fix(deps): remove deprecated package io/ioutil

---------

Co-authored-by: XZB <i@1248.ink>
2023-03-23 15:18:37 +08:00
Andy Hsu d9795ff22f feat(alias): support proxy and direct together 2023-03-14 13:46:27 +08:00
Andy Hsu c9c4d6bc7e fix!(local): perm on mkdir (close #3626) 2023-02-26 21:25:32 +08:00
GodFinal 309d6558fb
feat(local): add thumbnail for video with ffmpeg (#3556)
* feat(local): add ffmpeg

* fix: missed `+`

---------

Co-authored-by: Andy Hsu <i@nn.ci>
2023-02-22 21:19:42 +08:00
Andy Hsu e39299bfe2 fix(local): missed type of `MkdirPerm` (923937b) 2023-02-21 17:45:15 +08:00
Andy Hsu 923937b530 feat(local): custom mkdir perm (close #3196) 2023-02-20 16:20:36 +08:00
Andy Hsu 51f5d1b3c4 fix(local): set perm `0777` for folder (close #2996) 2023-02-04 12:11:13 +08:00
Noah Hsu 9d9377f65d fix(local): incorrect path of thumbnail (for 6453ae0) 2023-01-16 20:02:30 +08:00
Noah Hsu 8b523fab8b revert: add `Getter` interface back 2023-01-16 19:55:43 +08:00
Noah Hsu 6453ae0968 fix(search): empty parent where update (close #2810) 2023-01-16 17:33:24 +08:00
Noah Hsu d756cf3e9f fix(local): disable copying or moving to subfolders (close #2760) 2022-12-20 16:27:04 +08:00
foxxorcat fb64f00640
refactor: obj name mapping and internal path processing (#2733)
* refactor:Prepare to remove the get interface

* feat:add obj Unwarp interface

* refactor:obj name mapping and program internal path processing

* chore: fix typo

* feat: unwrap get

* fix: no use op.Get to get parent id

* fix: set the path uniformly

Co-authored-by: Noah Hsu <i@nn.ci>
2022-12-17 19:49:05 +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 446f82888c fix(local): add sign to thumbnail (close #2536 close #2650) 2022-12-09 10:08:31 +08:00
itsHenry d94cf72da2
fix(local): webp image decode while generate thumbnail (close #2484 pr #2520)
* Fix that webp thumb  in local storage won't load

* Simplify code

Co-authored-by: Noah Hsu <i@nn.ci>
2022-11-29 09:47:40 +08:00
BoYanZh 42865486f1
fix(local): deal with relative symlink dir (#2274) 2022-11-09 18:15:42 +08:00
BoYanZh cdcbfb24c4
fix(local): directory handle (#2262)
* fix(local): check symlink dir

* fix(local): set size of dir to 0 (close #2264)
2022-11-09 11:20:09 +08:00
Jmper da7e17aa38
feat(local): add show hidden config (#2087) 2022-10-23 14:53:07 +08:00
Noah Hsu d9f0603271 fix: copy folder between two storage (fix #1670) 2022-09-15 17:58:32 +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 611457c0e7 feat: add `baidu_netdisk` driver 2022-09-02 22:46:31 +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 755f4b83f6 feat: add progress for io copy 2022-08-31 22:41:27 +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 e9927806d4 fix(local): return `ObjectNotFound` if can't find file 2022-08-19 11:02:00 +08:00
Noah Hsu af884010d1 feat: local storage image thumbnail 2022-08-11 20:32:17 +08:00
Noah Hsu b51e664543 chore: go fmt 2022-08-03 14:26:59 +08:00
Noah Hsu 721f18a7f4 feat: fs other api 2022-08-03 14:14:37 +08:00
Noah Hsu 638db77ca1 chore: rename local struct 2022-07-19 17:11:53 +08:00
Noah Hsu fe94016289 chore: set default root folder in driver config 2022-07-19 17:07:12 +08:00
Noah Hsu a16da3b45e chore: fix typo 2022-07-12 18:41:16 +08:00
Noah Hsu fc1204c914 chore: rename account to storage 2022-07-10 14:45:39 +08:00
Noah Hsu 505b126888 chore: optional get func for driver 2022-06-28 22:13:47 +08:00
Noah Hsu 74973bc5b5 fix: local relative path 2022-06-27 20:37:05 +08:00
Noah Hsu ee2bc99e4c feat: cancel copy for upload 2022-06-25 15:14:03 +08:00
Noah Hsu ffdb198247 feat(local): basic function of driver 2022-06-23 17:06:07 +08:00