mirror of
https://github.com/AlistGo/alist.git
synced 2025-11-25 03:15:10 +08:00
* feat(bitqiu): Add Bitqiu cloud drive support - Implement the new Bitqiu cloud drive. - Add core driver logic, metadata handling, and utility functions. - Register the Bitqiu driver for use. * feat(driver): Implement GetLink, CreateDir, and Move operations - Implement `GetLink` method to retrieve download links for files. - Implement `CreateDir` method to create new directories. - Implement `Move` method to relocate files and directories. - Add new API endpoints and data structures for download and directory creation responses. - Integrate retry logic with re-authentication for API calls in implemented methods. - Update HTTP request headers to include `x-requested-with`. * feat(bitqiu): Add rename, copy, and delete operations - Implement `Rename` operation with retry logic and API calls. - Implement `Copy` operation, including asynchronous handling, polling for completion, and status checks. - Implement `Remove` operation with retry logic and API calls. - Add new API endpoint URLs for rename, copy, and delete, and a new copy success code. - Introduce `AsyncManagerData`, `AsyncTask`, and `AsyncTaskInfo` types to support async copy status monitoring. - Add utility functions `updateObjectName` and `parentPathOf` for object manipulation. - Integrate login retry mechanism for all file operations. * feat(bitqiu-upload): Implement chunked file upload support - Implement multi-part chunked upload logic for the BitQiu service. - Introduce `UploadInitData` and `ChunkUploadResponse` structs for structured API communication. - Refactor the `Save` method to orchestrate initial upload, chunked data transfer, and finalization. - Add `uploadFileInChunks` function to handle sequential uploading of file parts. - Add `completeChunkUpload` function to finalize the chunked upload process on the server. - Ensure proper temporary file cleanup using `defer tmpFile.Close()`. * feat(driver): Implement automatic root folder ID retrieval - Add `userInfoURL` constant for fetching user information. - Implement `ensureRootFolderID` function to retrieve and set the driver's root folder ID if not already present. - Integrate `ensureRootFolderID` into the driver's `Init` process. - Define `UserInfoData` struct to parse the `rootDirId` from user information responses. * feat(client): Implement configurable user agent * Introduce a configurable `UserAgent` field in the client's settings. * Add a `userAgent()` method to retrieve the user agent, prioritizing the custom setting or using a predefined default. * Apply the determined user agent to all outbound HTTP requests made by the `BitQiu` client.
87 lines
4.0 KiB
Go
87 lines
4.0 KiB
Go
package drivers
|
|
|
|
import (
|
|
_ "github.com/alist-org/alist/v3/drivers/115"
|
|
_ "github.com/alist-org/alist/v3/drivers/115_open"
|
|
_ "github.com/alist-org/alist/v3/drivers/115_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/123"
|
|
_ "github.com/alist-org/alist/v3/drivers/123_link"
|
|
_ "github.com/alist-org/alist/v3/drivers/123_open"
|
|
_ "github.com/alist-org/alist/v3/drivers/123_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/139"
|
|
_ "github.com/alist-org/alist/v3/drivers/189"
|
|
_ "github.com/alist-org/alist/v3/drivers/189pc"
|
|
_ "github.com/alist-org/alist/v3/drivers/alias"
|
|
_ "github.com/alist-org/alist/v3/drivers/alist_v2"
|
|
_ "github.com/alist-org/alist/v3/drivers/alist_v3"
|
|
_ "github.com/alist-org/alist/v3/drivers/aliyundrive"
|
|
_ "github.com/alist-org/alist/v3/drivers/aliyundrive_open"
|
|
_ "github.com/alist-org/alist/v3/drivers/aliyundrive_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/azure_blob"
|
|
_ "github.com/alist-org/alist/v3/drivers/baidu_netdisk"
|
|
_ "github.com/alist-org/alist/v3/drivers/baidu_photo"
|
|
_ "github.com/alist-org/alist/v3/drivers/baidu_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/bitqiu"
|
|
_ "github.com/alist-org/alist/v3/drivers/chaoxing"
|
|
_ "github.com/alist-org/alist/v3/drivers/cloudreve"
|
|
_ "github.com/alist-org/alist/v3/drivers/cloudreve_v4"
|
|
_ "github.com/alist-org/alist/v3/drivers/crypt"
|
|
_ "github.com/alist-org/alist/v3/drivers/doubao"
|
|
_ "github.com/alist-org/alist/v3/drivers/doubao_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/dropbox"
|
|
_ "github.com/alist-org/alist/v3/drivers/febbox"
|
|
_ "github.com/alist-org/alist/v3/drivers/ftp"
|
|
_ "github.com/alist-org/alist/v3/drivers/github"
|
|
_ "github.com/alist-org/alist/v3/drivers/github_releases"
|
|
_ "github.com/alist-org/alist/v3/drivers/gofile"
|
|
_ "github.com/alist-org/alist/v3/drivers/google_drive"
|
|
_ "github.com/alist-org/alist/v3/drivers/google_photo"
|
|
_ "github.com/alist-org/alist/v3/drivers/halalcloud"
|
|
_ "github.com/alist-org/alist/v3/drivers/ilanzou"
|
|
_ "github.com/alist-org/alist/v3/drivers/ipfs_api"
|
|
_ "github.com/alist-org/alist/v3/drivers/kodbox"
|
|
_ "github.com/alist-org/alist/v3/drivers/lanzou"
|
|
_ "github.com/alist-org/alist/v3/drivers/lenovonas_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/local"
|
|
_ "github.com/alist-org/alist/v3/drivers/mediafire"
|
|
_ "github.com/alist-org/alist/v3/drivers/mediatrack"
|
|
_ "github.com/alist-org/alist/v3/drivers/mega"
|
|
_ "github.com/alist-org/alist/v3/drivers/misskey"
|
|
_ "github.com/alist-org/alist/v3/drivers/mopan"
|
|
_ "github.com/alist-org/alist/v3/drivers/netease_music"
|
|
_ "github.com/alist-org/alist/v3/drivers/onedrive"
|
|
_ "github.com/alist-org/alist/v3/drivers/onedrive_app"
|
|
_ "github.com/alist-org/alist/v3/drivers/onedrive_sharelink"
|
|
_ "github.com/alist-org/alist/v3/drivers/pcloud"
|
|
_ "github.com/alist-org/alist/v3/drivers/pikpak"
|
|
_ "github.com/alist-org/alist/v3/drivers/pikpak_share"
|
|
_ "github.com/alist-org/alist/v3/drivers/proton_drive"
|
|
_ "github.com/alist-org/alist/v3/drivers/quark_uc"
|
|
_ "github.com/alist-org/alist/v3/drivers/quark_uc_tv"
|
|
_ "github.com/alist-org/alist/v3/drivers/quqi"
|
|
_ "github.com/alist-org/alist/v3/drivers/s3"
|
|
_ "github.com/alist-org/alist/v3/drivers/seafile"
|
|
_ "github.com/alist-org/alist/v3/drivers/sftp"
|
|
_ "github.com/alist-org/alist/v3/drivers/smb"
|
|
_ "github.com/alist-org/alist/v3/drivers/teambition"
|
|
_ "github.com/alist-org/alist/v3/drivers/terabox"
|
|
_ "github.com/alist-org/alist/v3/drivers/thunder"
|
|
_ "github.com/alist-org/alist/v3/drivers/thunder_browser"
|
|
_ "github.com/alist-org/alist/v3/drivers/thunderx"
|
|
_ "github.com/alist-org/alist/v3/drivers/trainbit"
|
|
_ "github.com/alist-org/alist/v3/drivers/url_tree"
|
|
_ "github.com/alist-org/alist/v3/drivers/uss"
|
|
_ "github.com/alist-org/alist/v3/drivers/virtual"
|
|
_ "github.com/alist-org/alist/v3/drivers/vtencent"
|
|
_ "github.com/alist-org/alist/v3/drivers/webdav"
|
|
_ "github.com/alist-org/alist/v3/drivers/weiyun"
|
|
_ "github.com/alist-org/alist/v3/drivers/wopan"
|
|
_ "github.com/alist-org/alist/v3/drivers/yandex_disk"
|
|
)
|
|
|
|
// All do nothing,just for import
|
|
// same as _ import
|
|
func All() {
|
|
|
|
}
|