* feat(drivers): add ProtonDrive driver
- Implement complete ProtonDrive storage driver with end-to-end encryption support
- Add authentication via username/password with credential caching and reusable login
- Support all core operations: List, Link, Put, Copy, Move, Remove, Rename, MakeDir
- Include encrypted file operations with PGP key management and node passphrase handling
- Add temporary HTTP server for secure file downloads with range request support
- Support media streaming using temp server range requests
- Implement progress tracking for uploads and downloads
- Support directory operations with circular move detection
- Add proper error handling and panic recovery for external library integration
- Support buffered upload for specific sequential and encrypted, but optimized transmission.
* Update drivers/proton_drive/util.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com>
* chore
* feat(drivers): enhance ProtonDrive temp server
- Implement separate listen and public port configuration for complex network deployments
- Add intelligent port detection with 8080 as preferred default, fallback to auto-assignment
- Support Container/NAT/VM environments through configurable external host and port mapping
- Add port availability validation with graceful fallback to listen port
- Enable users to specify external domain/IP for client connections (e.g., 192.168.1.5)
- Follow FTP server configuration patterns for network flexibility
- Maintain localhost development simplicity while supporting production deployments
* feat(proton_drive): refactor directory handling and improve link retrieval
* fix(proton_drive): add NoLinkURL configuration option
* fix(proton_drive): update file size retrieval and enforce TwoFACode requirement
* feat(proton_drive): add expiration to link response
* fix(proton_drive): handle empty RootFolderID in Init method
* fix(proton_drive): update credential handling to use email and reusable login
* fix(proton_drive): update credential handling to use reusableCredential variable
* fix(proton_drive): update DirectRename to use GetLink for source object retrieval
* fix(proton_drive): refactor uploadFile to return model.Obj and handle errors correctly
* fix(proton_drive): refactor DirectMove to use getLink for source retrieval and simplify destination handling
* fix(proton_drive): simplify Copy method by removing temporary file creation and directly using FileStream
* refactor(proton_drive): remove unused temporary server and related code
* chore
* fix(proton_drive): fix driver
- Handle fresh login if ProtonDrive rejects AccessToken or RefreshToken
- Update stored credentials
* fix(proton_drive): simplify reusable login handling in Init method
* fix(proton_drive): fix driver
- Update stored credentials, now is failing
* feat(proton_drive): improve authentication handling and remove unused variables
* fix(proton_drive): fix driver
- Update stored credentials, now is failing
* fix(proton_drive): improve authentication handling
* refactor(proton_drive): move client initialization to initClient method
* feat(proton_drive): move addrs and addrKRs
* feat(proton_drive): optimize upload threads
- Change ConcurrentBlockUploadCount to user configured upload threads number
- Comment ConcurrentFileCryptoCount, default is runtime.GOMAXPROCS(0)
---------
Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: KirCute <951206789@qq.com>
Co-authored-by: j2rong4cn <j2rong@qq.com>
Co-authored-by: KirCute <kircute@foxmail.com>
* 新增清真云Open驱动,支持最新的轻量SDK
* Change Go version in go.mod
Downgrade Go version from 1.24.2 to 1.23.4
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
* Apply suggestions from code review
* Removed unnecessary comments
* Downgraded the Go version to 1.23.4.
* Not sure whether FileStream supports concurrent read and write operations, so currently using single-threaded upload to ensure safety.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
* feat(halalcloud_open): support disk usage
* Set useSingleUpload to true for upload safety
Not sure whether FileStream supports concurrent read and write operations, so currently using single-threaded upload to ensure safety.
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
* Update meta.go
Change required for RefreshToken, If using a personal API approach, the RefreshToken is not required.
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
* remove debug logs
* bump halalcloud SDK version
* fix unnecessary params
* Update drivers/halalcloud_open/driver_init.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
* Fixed spelling errors; changed hardcoded retry parameters to constants.
* remove pointer in get link function in utils.go
---------
Signed-off-by: zzzhr1990 <zzzhr@hotmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: KirCute <951206789@qq.com>
* feat(http3|quic): add http3|quic support
* revert(ai): fix ai error
* fix(shutdown): shutdown was using close
* feat(http3|quic): add config if needs h3
* feat(http3|quic): add Alt-Svc to expose h3
* fix(ftp-server): cannot get obj in uploading state inconsistency window
* fix
* fix: duplicate obj when upload completed but client access does not
* fix
* feat: support stat remove and move
* feat(search): enhanced `meilisearch` search experience
- upgrade `meilisearch` dependency
- support subdirectory search
- optimize searchDocument fields for subdirectory search
- specify full index uid instead of index prefix
* fix(search): more fixes to `meilisearch`
- make use of context where context was not used
- remove code of waiting task in deletion process, as tasks are queued and will be executed orderly (if tasks were submitted to the queue successfully), which can improve `AutoUpdate` performance