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
Timer
12fd52b6b7
docs(README_cn): format document links as list to sync with other languages. ( #279 )
...
Fix #272
2025-06-22 19:06:00 +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
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
Andy Hsu
ec2fb82836
chore: update special sponsors [skip ci]
2023-07-18 15:26:03 +08:00
wenmig
cfee536b96
feat: add Dropbox driver ( #4639 close #4590 )
...
Co-authored-by: Andy Hsu <i@nn.ci >
2023-06-23 17:36:40 +08:00
Andy Hsu
541449e10f
docs: add special sponsor [skip ci]
2023-06-14 05:42:21 +08:00
zqxiaojin
89f76d7899
feat: add UC driver ( close #1127 in #4459 )
...
Co-authored-by: lj98568 <lj98568@alibaba-inc.com >
Co-authored-by: Andy Hsu <i@nn.ci >
2023-05-27 19:36:14 +08:00
BaimoQilin
90f111b24f
docs: translate title [skip ci] ( #3498 )
...
* Update README_cn.md
* Update README_cn.md
---------
Co-authored-by: Andy Hsu <i@nn.ci >
2023-02-18 17:50:42 +08:00
Zexi
aaa8c440fe
fix(seafile): token refresh ( #3010 )
...
* docs: add Seafile support
* fix: Seafile token refresh
2023-01-13 21:20:21 +08:00
panici
2dc5dec83c
feat: add Cloudreve driver ( close #2658 in #2997 )
...
* feat: add cloudreve support
add cloudreve support
(#2658 )
* docs(README): add suppuort cloudreve
* fix(cloudreve): add cookie refresh
Co-authored-by: panici <zhangjun@zjdeMacBook-Pro.local >
2023-01-12 19:57:43 +08:00
baysonfox
faf4150d1e
docs: fix badges on README.md and README_cn.md [skip ci] ( #2749 )
2022-12-18 16:48:03 +08:00
Noah Hsu
f95ab6ee57
docs: add 115 to readme [skip ci]
2022-11-01 19:28:24 +08:00
Noah Hsu
aabfe49cb9
docs: change contributors show [skip ci]
2022-10-30 15:26:31 +08:00
Noah Hsu
e3b7c41199
docs: update demo url & sponsor content [skip ci]
2022-10-24 22:48:36 +08:00
Noah Hsu
07ece452b3
docs: fix docker link [skip ci]
2022-10-19 17:08:01 +08:00
Noah Hsu
1c22fc367e
docs: change badges in readme
2022-10-12 17:08:40 +08:00
Noah Hsu
be8ff92414
docs: replace qq with discord [skip ci]
2022-10-05 14:17:00 +08:00
Noah Hsu
fba1471ec4
docs: add thunder in storage list [skip ci]
2022-09-11 15:26:47 +08:00
Noah Hsu
b00dcdec0d
docs: Create CODE_OF_CONDUCT.md [skip ci]
2022-09-10 22:23:05 +08:00
Noah Hsu
2505cb40ac
docs: update readme
2022-09-09 14:35:05 +08:00
Noah Hsu
b76060570e
refactor: init v3
2022-06-06 16:28:37 +08:00
Xhofe
f23bec9a35
docs: add baidu.photo [skip ci]
2022-05-07 16:43:02 +08:00
Xhofe
a7a0e85a46
docs: update qq group
2022-04-21 22:31:17 +08:00
Xhofe
ebda77cd43
docs: add sharepoint to webdav
2022-04-17 17:16:39 +08:00