mirror of
https://github.com/AlistGo/alist.git
synced 2025-12-19 11:00:06 +08:00
🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
This commit introduces comprehensive support for S3 object archive and thaw operations, managed asynchronously through a new task system. - **S3 Transition Task System**: - Adds a new `S3Transition` task configuration, including workers, max retries, and persistence options. - Initializes `S3TransitionTaskManager` to handle asynchronous S3 archive/thaw requests. - Registers dedicated API routes for monitoring S3 transition tasks. - **Integrate S3 Archive/Thaw with Other API**: - Modifies the `Other` API handler to intercept `archive` and `thaw` methods for S3 storage drivers. - Dispatches these operations as `S3TransitionTask` instances to the task manager for background processing. - Returns a task ID to the client for tracking the status of the dispatched operation. - **Refactor `other` package for improved API consistency**: - Exports previously internal structs such as `archiveRequest`, `thawRequest`, `objectDescriptor`, `archiveResponse`, `thawResponse`, and `restoreStatus` by making their names public. - Makes helper functions like `decodeOtherArgs`, `normalizeStorageClass`, and `normalizeRestoreTier` public. - Introduces new constants for various S3 `Other` API methods. |
||
|---|---|---|
| .github | ||
| cmd | ||
| drivers | ||
| internal | ||
| pkg | ||
| public | ||
| server | ||
| wrapper | ||
| .air.toml | ||
| .gitignore | ||
| build.sh | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.ci | ||
| entrypoint.sh | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README_cn.md | ||
| README_ja.md | ||
| README.md | ||
| renovate.json | ||
English | 中文 | 日本語 | Contributing | CODE_OF_CONDUCT
Features
- Multiple storages
- Local storage
- Aliyundrive
- OneDrive / Sharepoint (global, cn,de,us)
- 189cloud (Personal, Family)
- GoogleDrive
- 123pan
- FTP / SFTP
- PikPak
- S3
- Seafile
- UPYUN Storage Service
- WebDav(Support OneDrive/SharePoint without API)
- Teambition(China,International)
- MediaFire
- Mediatrack
- 139yun (Personal, Family, Group)
- YandexDisk
- BaiduNetdisk
- Terabox
- UC
- Quark
- Thunder
- Lanzou
- ILanzou
- Aliyundrive share
- Google photo
- Mega.nz
- Baidu photo
- SMB
- 115
- Cloudreve
- Dropbox
- FeijiPan
- dogecloud
- Azure Blob Storage
- Easy to deploy and out-of-the-box
- File preview (PDF, markdown, code, plain text, ...)
- Image preview in gallery mode
- Video and audio preview, support lyrics and subtitles
- Office documents preview (docx, pptx, xlsx, ...)
README.mdpreview rendering- File permalink copy and direct file download
- Dark mode
- I18n
- Protected routes (password protection and authentication)
- WebDav (see https://alistgo.com/guide/webdav.html for details)
- Docker Deploy
- Cloudflare Workers proxy
- File/Folder package download
- Web upload(Can allow visitors to upload), delete, mkdir, rename, move and copy
- Offline download
- Copy files between two storage
- Multi-thread downloading acceleration for single-thread download/stream
Document
API Documentation (via Apifox):
https://alist-public.apifox.cn/
Demo
Discussion
Please go to our discussion forum for general questions, issues are for bug reports and feature requests only.
Sponsor
AList is an open-source software, if you happen to like this project and want me to keep going, please consider sponsoring me or providing a single donation! Thanks for all the love and support: https://alistgo.com/guide/sponsor.html
Special sponsors
- VidHub - An elegant cloud video player within the Apple ecosystem. Support for iPhone, iPad, Mac, and Apple TV.
Contributors
Thanks goes to these wonderful people:
License
The AList is open-source software licensed under the AGPL-3.0 license.
Disclaimer
- This program is a free and open source project. It is designed to share files on the network disk, which is convenient for downloading and learning Golang. Please abide by relevant laws and regulations when using it, and do not abuse it;
- This program is implemented by calling the official sdk/interface, without destroying the official interface behavior;
- This program only does 302 redirect/traffic forwarding, and does not intercept, store, or tamper with any user data;
- Before using this program, you should understand and bear the corresponding risks, including but not limited to account ban, download speed limit, etc., which is none of this program's business;
- If there is any infringement, please contact me by email, and it will be dealt with in time.