D@' 3z K!7
ae2d2d1021
feat(drivers): add ProtonDrive driver ( #1368 )
...
* 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 >
2025-10-19 12:07:11 +08:00
ILoveScratch
189cebe4c9
feat(drivers): add MediaFire driver support ( #1322 )
...
* feat(drivers): add MediaFire driver support (#9319 )
- Implement complete MediaFire storage driver
- Add authentication via session_token and cookie
- Support all core operations: List, Get, Link, Put, Copy, Move, Remove, Rename, MakeDir
- Include thumbnail generation for media files
- Handle MediaFire's resumable upload API with multi-unit transfers
- Add proper error handling and progress reporting
Co-authored-by: Da3zKi7 <da3zki7@duck.com >
* fix(mediafire): fix code errors in mediafire
* fix(mediafire): fix code errors in mediafire
* fix(drivers): add session renewal cron for MediaFire driver (#9321 )
- Implement automatic session token renewal every 6-9 minutes
- Add validation for required SessionToken and Cookie fields in Init
- Handle session expiration by calling renewToken on validation failure
- Prevent storage failures due to MediaFire session timeouts
Fixes session closure issues that occur after server restarts or extended periods.
Co-authored-by: Da3zKi7 <da3zki7@duck.com >
* docs: restore README changes
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
* fix
* fix
* fix: add stream upload limit
* fix
* fix: clear action token on drop and refactor header setting
* feat(drivers/mediafire): optimize file caching - support direct stream processing
- Remove forced caching to *os.File type
- Support generic model.File interface for better flexibility
- Improve upload efficiency by avoiding unnecessary file conversions
- Fix return type to use model.Object instead of model.ObjThumb
* feat(drivers/mediafire): improve global rate limiting
- Ensure all API methods properly use context for rate limiting
- Fix context parameter usage in getDirectDownloadLink, getActionToken, getFileByHash
- Maintain consistent rate limiting across all MediaFire API calls
* feat(drivers/mediafire): unify return types - remove unnecessary ObjThumb
- Change MakeDir, Rename, Copy methods to return model.Object instead of model.ObjThumb
- Remove empty Thumbnail fields where not meaningful
- Keep ObjThumb only for fileToObj (List operations) which provides actual thumbnail URLs
- Improve code consistency and reduce unnecessary wrapper objects
* refactor(drivers/mediafire): extract common error handling logic
- Add checkAPIResult helper function to reduce code duplication
- Replace repetitive MediaFire API error checks with centralized function
- Maintain specific error messages for unique cases (token, upload, search)
- Improve code maintainability and consistency
* enhance(drivers/mediafire): improve quick upload implementation
- Add null check for existingFile to prevent potential issues
- Improve error handling in quick upload - continue normal upload if search fails
- Add detailed comments explaining quick upload logic
- Optimize getExistingFileInfo with clearer fallback strategy
- Ensure upload reliability even when file search encounters issues
* refactor(drivers/mediafire): optimize request method reusability
- Extract common HTTP request logic into apiRequest method
- Reduce code duplication between getForm and postForm methods
- Maintain backward compatibility with existing method signatures
- Centralize rate limiting and header management
- Support extensible HTTP method handling
* docs(drivers/mediafire): add comprehensive English comments
- Add function-level comments for all major driver methods
- Document Init, List, Link, MakeDir, Move, Rename, Copy, Remove, Put methods
- Add comments for key utility functions including session token management
- Improve code readability and maintainability for community collaboration
- Follow Go documentation conventions with clear, concise descriptions
* perf(mediafire): optimize memory allocation and type assertion performance
- Pre-allocate slice capacity in getFiles and bitmap conversion to reduce reallocations
- Cache file type check in uploadUnits to avoid repeated type assertions
- Add uploadSingleUnitOptimized for os.File to eliminate redundant type checks
- Optimize string to int conversion with proper error handling
- Improve memory efficiency in file upload operations
* fix(mediafire): upload without cache
* feat(mediafire): add rate limiting to all API methods
- Add WaitLimit(ctx) calls to all driver methods: List, Link, MakeDir, Move, Rename, Copy, Remove, Put
- Ensure consistent rate limiting across all MediaFire API interactions
- Follow project standard pattern used by other drivers
* feat(mediafire): improve error handling consistency
- Add context parameter to all HTTP API functions for proper context propagation
- Update getForm, postForm and apiRequest to accept context parameter
- Fix rate limiting to use caller context instead of background context
- Ensure consistent error handling patterns across all API calls
- Improve cancellation and timeout support
* feat(mediafire): refactor resumableUpload to use io.ReadSeeker and improve upload handling
* fix(mediafire): release section reader
* feat: add disk usage
* feat(drivers/mediafire): support concurrent upload (#1387 )
* feat(drivers): add MediaFire driver with concurrent upload support
- Implement complete MediaFire storage driver with session token authentication
- Support all core operations: List, Get, Link, Put, Copy, Move, Remove, Rename, MakeDir
- Include thumbnail generation for media files
- Handle MediaFire's resumable upload with intelligent and multi-unit transfers
- Support concurrent chunk uploads using errgroup.NewOrderedGroupWithContext, using splitted file caching for large files
- Optimize memory usage with adaptive buffer sizing (10MB-100MB (default))
- Include rate limiting and retry logic for API requests
- Add proper error handling and progress reporting
- Handle MediaFire's bitmap-based resumable upload protocol
Closes PR #1322
* feat(stream): add DiscardSection method to StreamSectionReader for skipping data
* feat(mediafire): refactor resumableUpload logic for improved upload handling and error management
* fix(mediafire): stop cron job and clear action token in Drop method
* .
* fix(mediafire): optimize buffer sizing logic in uploadUnits method
* fix(docs): remove duplicate MediaFire
* fix(mediafire): revert 'optimization', large files should not be fully chached.
---------
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Co-authored-by: Da3zKi7 <da3zki7@duck.com >
Co-authored-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
* fix(mediafire): optimize hash calculation in uploadUnits function
* feat(drivers/mediafire): support concurrent upload (#1366 )
* feat(drivers): add MediaFire driver with concurrent upload support
- Implement complete MediaFire storage driver with session token authentication
- Support all core operations: List, Get, Link, Put, Copy, Move, Remove, Rename, MakeDir
- Include thumbnail generation for media files
- Handle MediaFire's resumable upload with intelligent and multi-unit transfers
- Support concurrent chunk uploads using errgroup.NewOrderedGroupWithContext, using splitted file caching for large files
- Optimize memory usage with adaptive buffer sizing (10MB-100MB (default))
- Include rate limiting and retry logic for API requests
- Add proper error handling and progress reporting
- Handle MediaFire's bitmap-based resumable upload protocol
Closes PR #1322
* feat(stream): add DiscardSection method to StreamSectionReader for skipping data
* feat(mediafire): refactor resumableUpload logic for improved upload handling and error management
* fix(mediafire): stop cron job and clear action token in Drop method
* .
* fix(mediafire): optimize buffer sizing logic in uploadUnits method
* fix(docs): remove duplicate MediaFire
* fix(mediafire): revert 'optimization', large files should not be fully chached.
---------
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
---------
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Signed-off-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com >
Co-authored-by: D@' 3z K!7 <99719341+Da3zKi7@users.noreply.github.com >
Co-authored-by: Da3zKi7 <da3zki7@duck.com >
Co-authored-by: KirCute <951206789@qq.com >
Co-authored-by: Suyunmeng <Susus0175@proton.me >
Co-authored-by: j2rong4cn <j2rong@qq.com >
Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
2025-09-30 21:55:41 +08:00
ILoveScratch
8bbdb272d4
docs(readme): extend driver list with newest support ( #1271 )
2025-09-13 20:41:17 +08:00
MadDogOwner
b450a2104d
chore(docs): update domain ( #788 )
...
* chore(docs): update domain
* docs(issue): add guide link for bug reporting
2025-07-23 14:26:21 +08:00
SenkjM
750d4eb3f6
docs(README): add disclaimer ( #705 )
...
add disclaimer
2025-07-13 15:22:25 +08:00
ShenLin
aae3851979
chore(README): various optimizations, reordering, and corrections ( #504 )
2025-07-01 15:22:37 +08:00
DearTanker
022614f155
chore(readme style): remove line break to prevent visible underline ( #501 )
...
style: Remove the line break of the img tag in readme to avoid GitHub's incorrect rendering of the blue underline
Co-authored-by: ShenLin <773933146@qq.com >
2025-07-01 12:15:28 +08:00
SenkjM
041868dfb8
docs: add channel and update compose config ( #272 )
...
* fix:remove-compose-version
Signed-off-by: SenkjM <112735335+SenkjM@users.noreply.github.com >
* mod : add Channel
* docs:update README
---------
Signed-off-by: SenkjM <112735335+SenkjM@users.noreply.github.com >
2025-06-22 00:41:25 +08:00
Suyunmeng
a3c7cb059d
chore:Change Logo URL and fixed aliyundrive open bugs ( #208 )
...
* Fix Logo URL
* fixed aliyunpan_open
* fixed aliyundrive bugs
* fixed onlineapi bugs
* fixed onlineapi bugs
* Fixed Bugs
* Rollback
* fixed
* fixed onlineapi
* fixed driver
---------
Signed-off-by: Suyunmeng <sumengjing@outlook.com >
2025-06-19 21:20:29 +08:00
Hantong Chen
b1afadd129
chore: update project meta ( #51 )
...
* chore: update project meta (partial)
* chore: update README
* chore: update pdf preview
* revert: use old hash
* chore: update logo file url
2025-06-16 16:29:45 +08:00
Hantong Chen
9e05c81d9c
chore: update project logo ( #26 )
2025-06-12 23:29:35 +08:00
Hanson-zhy
20d1d5b479
chore(README): update README, add progress intro ( #21 )
...
* Update README_cn.md
* Update README_cn.md
* Update README.md
* Update README_ja.md
* Update README_ja.md
* Update README_ja.md
* Update README_ja.md
---------
Co-authored-by: Hantong Chen <70561268+cxw620@users.noreply.github.com >
2025-06-12 22:03:18 +08:00
Yinan Qin
5feb86ceee
chore(docs&ci): change links in files & fix github ci and docker ci ( #3 )
...
* Enable blank issue
* chore(README.md): update docs (temporally)
* Update FUNDING.yml
* chore: purge README.md
* Update README.md
Alist改为OpenList
* Update README_cn.md
Alist改为OpenList
* Update README.md
漏了一处
* Update README_ja.md
Alist改为OpenList
* Update README_cn.md
漏了一处
* Update CODE_OF_CONDUCT.md
更改链接
* Update README.md
更新tg链接
* Update README_cn.md
更新tg链接
* Update README_ja.md
更新tg链接
* chore(build&docs): use new links in build and github templates
* Update README.md
更新团队名
* chore: disable translation update, change beta release into artifacts
* fix: disable docker build and name the uploaded artifacts
* fix typo
* Update README_cn.md
更新团队名称
* Update README_ja.md
更新
* Update project name in CONTRIBUTING.md
* Update README_cn.md
更新
* Update README.md
更新
* Update README_ja.md
* fix: fix artifact name
* chore(build.sh): use original musl.cc
* fix(ci): fix action artifacts upload
* Update CODE_OF_CONDUCT.md
TG更改为Telegram
* Update README_cn.md
更新论坛链接
* Update README.md
更新论坛链接
* Update README_ja.md
更新论坛链接
* feat: update community based call back for onedrive
* chore(ci): update musl.cc link
* chore: use openlist as name instead of default OpenList
* Update user.go
* chore: fix artifact name
* feat(ci): add docker build test
* fix: add more platforms
* fix: explicitly use docker.io
* fix: fix typo
* fix(docker): fix test build push platform
* chore: change to OpenListTeam
* Update CODE_OF_CONDUCT.md
* doc: update org name
* docs: change repo urls
* feat: release docker image to ghcr.io on tagging
* fix: fix the name of test_docker
* build: update the names in docker-compose and docker file
* chore: rename
---------
Co-authored-by: ShenLin <773933146@qq.com >
Co-authored-by: Hantong Chen <cxwdyx620@gmail.com >
Co-authored-by: joshua <i@joshua.su >
Co-authored-by: 绎泽 <yize@tencent.to >
Co-authored-by: zyk2507 <93830642+zyk2507@users.noreply.github.com >
2025-06-12 21:29:43 +08:00
ShenLin
0bcb4fe16d
chore(README): update project name
...
Update FUNDING.yml
chore: purge README.md
Update project name in CONTRIBUTING.md
Update README.md
Alist改为OpenList
Update README_cn.md
Alist改为OpenList
Update README.md
漏了一处
Update README_ja.md
Alist改为OpenList
Update README_cn.md
漏了一处
Update CODE_OF_CONDUCT.md
更改链接
Update README.md
更新tg链接
Update README_cn.md
更新tg链接
Update README_ja.md
更新tg链接
Update README.md
更新团队名
Update README_cn.md
更新团队名称
Update README_ja.md
更新
Update README_cn.md
更新
Update README.md
更新
Update README_ja.md
Update CODE_OF_CONDUCT.md
TG更改为Telegram
Update README_cn.md
更新论坛链接
Update README.md
更新论坛链接
Update README_ja.md
更新论坛链接
2025-06-12 16:56:22 +08:00
Hantong Chen
4f57bd3ae6
chore(README.md): update docs (temporally)
2025-06-12 16:56:22 +08:00
MadDogOwner
a3908fd9a6
fix(139): update APIs ( #7591 close #7603 )
...
* fix(139): update family cloud API
* fix(139): update API of familyGetLink
* feat(139): support group (close #7603 )
* docs: add `139 group` to Readme
* feat(139): support multipart upload (close : #7444 )
* feat(139): add custom upload part size option
* fix: missing right big quote
---------
Co-authored-by: Andy Hsu <i@nn.ci >
2024-12-09 23:54:21 +08:00
Andy Hsu
868b0ec25c
chore: replace link of zhaoziyuan [skip ci]
2024-08-23 12:27:19 +08:00
快乐的老鼠宝宝
453d7da622
docs: change outdated repository link to alist-org ( #6007 )
2024-06-28 23:47:21 +08:00
Andy Hsu
0e246a7b0c
chore: replace link of vidhub [skip ci]
2024-04-30 14:22:26 +08:00
jwcesign
d517adde71
docs: use width instead of height for image in Readme ( #6282 )
...
* Update README.md
* Update README_cn.md
* Update README_ja.md
2024-03-29 14:40:43 +08:00
二丫讲梵
cf08aa3668
feat: add doge driver ( #6201 )
...
* feat: add doge driver
* doc: 补充readme文档
* fix: 对齐meta信息
* fix: 调整结构体名字,与driver保持一致
* perf: merge to s3
* Rename goge.go to doge.go
---------
Co-authored-by: Andy Hsu <i@nn.ci >
2024-03-25 22:53:44 +08:00
Andy Hsu
bb6747de4e
docs: add feijipan to Readme
2024-01-11 10:15:16 +08:00
Andy Hsu
9d5fb7f595
feat: add ILanzou driver ( #5810 close #5715 )
...
* wip: basic request and login
* feat: impl list
* feat: impl link
* feat: impl mkdir, move, rename, delete
* feat: impl upload
* docs: add iLanzou to readme
2024-01-04 22:03:15 +08:00
xiaofei
6b8f35e7fa
feat(alipan): replace domain ( #5751 close #5747 )
2023-12-31 14:29:14 +08:00
Andy Hsu
e4a6b758dc
docs: remove jetbrains in special sponsor [skip ci]
2023-12-03 12:57:35 +08:00
Andy Hsu
d7f66138eb
docs: add sponsor VidHub [skip ci]
2023-11-22 15:09:39 +08:00
Andy Hsu
3d7f79cba8
docs: change domain of contributors image [skip ci]
2023-10-03 17:34:24 +08:00
Andy Hsu
5238850036
docs: sync README [skip ci]
2023-08-02 15:15:48 +08:00
Ikko Eltociear Ashimine
cace9db12f
docs: add Japanese README [skip ci] ( #4798 )
2023-07-19 14:05:41 +08:00