cbbb5ad231
fix(stream): http chucked upload issue ( #1152 )
...
* fix(stream): http chucked upload issue
* fix(stream): use MmapThreshold
* fix(stream): improve caching mechanism and handle size=0 case
* fix bug
* fix(buffer): optimize ReadAt method for improved performance
* fix(upload): handle Content-Length and File-Size headers for better size management
* fix(189pc): 移除重复限速
* fix(upload): handle negative file size during streaming uploads
* fix(upload): update header key from File-Size to X-File-Size for size retrieval
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-09-15 19:36:16 +08:00
016ed90efa
feat(stream): fast buffer freeing for large cache ( #1053 )
...
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-16 17:19:52 +08:00
57fceabcf4
perf(stream): improve file stream range reading and caching mechanism ( #1001 )
...
* perf(stream): improve file stream range reading and caching mechanism
* 。
* add bytes_test.go
* fix(stream): handle EOF and buffer reading more gracefully
* 注释
* refactor: update CacheFullAndWriter to accept pointer for UpdateProgress
* update tests
* Update drivers/google_drive/util.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
* 更优雅的克隆Link
* 修复stream已缓存但无法重复读取
* 将Bytes类型重命名为Reader
* 修复栈溢出
* update tests
---------
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-11 23:41:22 +08:00
9ac0484bc0
perf(ftp): improve concurrent Link response; fix alias/local driver issues ( #974 )
2025-08-06 13:32:37 +08:00
8cf15183a0
perf: optimize upload ( #554 )
...
* pref(115,123): optimize upload
* chore
* aliyun_open, google_drive
* fix bug
* chore
* cloudreve, cloudreve_v4, onedrive, onedrive_app
* chore(conf): add `max_buffer_limit` option
* 123pan multithread upload
* doubao
* google_drive
* chore
* chore
* chore: 计算分片数量的代码
* MaxBufferLimit自动挡
* MaxBufferLimit自动挡
* 189pc
* errorgroup添加Lifecycle
* 查缺补漏
* Conf.MaxBufferLimit单位为MB
* 。
---------
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-05 21:42:54 +08:00
86324d2d6b
fix(net): ensure accurate content-length in response ( #749 )
...
* fix(fs): ensure accurate content-length in http2 requests
Chrome browsers were unable to preview thumbnails, reporting an
'ERR_HTTP_2_PROTOCOL_ERROR'. This was caused by an incorrect
content-length header in the server's response for thumbnail images.
This commit corrects the content-length calculation, allowing
Chrome and other compliant clients to render thumbnails correctly.
* fix(net): ensure accurate content-length in response
* 补缺
* .
---------
Co-authored-by: zhiqiang.huang <zhiqiang.tech@gmail.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-19 20:36:27 +08:00
cc01b410a4
perf(link): optimize concurrent response ( #641 )
...
* fix(crypt): bug caused by link cache
* perf(crypt,mega,halalcloud,quark,uc): optimize concurrent response link
* chore: 删除无用代码
* ftp
* 修复bug;资源释放
* 添加SyncClosers
* local,sftp,smb
* 重构,优化,增强
* Update internal/stream/util.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
* chore
* chore
* 优化,修复bug
* .
---------
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-12 17:57:54 +08:00
ffb6c2a180
refactor: optimize stream, link, and resource management ( #486 )
...
* refactor: optimize stream, link, and resource management
* Link.MFile改为io.ReadSeeker类型
* fix (crypt): read on closed response body
* chore
* chore
* chore
2025-07-03 10:39:34 +08:00
874dc292ae
fix(gomod): go modules with tagged versions ( #499 )
...
fix: go modules with tagged versions
2025-07-01 09:54:50 +08:00
fdcc2f136e
chore: change module name to OpenListTeam/OpenList ( #2 )
...
* Enable blank issue
* chore(README.md): update docs (temporally)
* Update FUNDING.yml
* chore: purge README.md
* chore: change module name to OpenListTeam/OpenList
* fix: fix link errors
* chore: remove v3 in module name
* fix: resolve some conficts
* fix: resolve conficts
* docs: update with latest file
---------
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: Hantong Chen <70561268+cxw620@users.noreply.github.com >
2025-06-12 22:02:46 +08:00
ddffacf07b
perf: optimize IO read/write usage ( #8243 )
...
* perf: optimize IO read/write usage
* .
* Update drivers/139/driver.go
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
---------
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-04-12 16:55:31 +08:00
1335f80362
feat(archive): support multipart archives ( #8184 close #8015 )
...
* feat(archive): multipart support & sevenzip tool
* feat(archive): rardecode tool
* feat(archive): support decompress multi-selected
* fix(archive): decompress response filter internal
* feat(archive): support multipart zip
* fix: more applicable AcceptedMultipartExtensions interface
2025-03-27 23:20:44 +08:00
4145734c18
refactor(net): pass request header ( #8031 close #8008 )
...
* refactor(net): pass request header
* feat(proxy): add `Etag` to response header
* refactor
2025-03-01 18:35:34 +08:00
3b71500f23
feat(traffic): support limit task worker count & file stream rate ( #7948 )
...
* feat: set task workers num & client stream rate limit
* feat: server stream rate limit
* upgrade xhofe/tache
* .
2025-02-16 12:22:11 +08:00
779c293f04
fix(driver): implement canceling and updating progress for putting for some drivers ( #7847 )
...
* fix(driver): additionally implement canceling and updating progress for putting for some drivers
* refactor: add driver archive api into template
* fix(123): use built-in MD5 to avoid caching full
* .
* fix build failed
2025-02-01 17:29:55 +08:00
5c5d8378e5
fix(archive): unable to preview ( #7843 )
...
* fix(archive): unrecognition zip
* feat(archive): add tree for zip meta
* fix bug
* refactor(archive): meta cache time use Link Expiration first
* feat(archive): return sort policy in meta (#2 )
* refactor
* perf(archive): reduce new network requests
---------
Co-authored-by: KirCute_ECT <951206789@qq.com >
2025-01-27 20:08:56 +08:00
2be0c3d1a0
feat(alias): add DownloadConcurrency
and DownloadPartSize
option ( #7829 )
...
* fix(net): goroutine logic bug (AlistGo/alist#7215 )
* Fix goroutine logic bug
* Fix bug
---------
Co-authored-by: hpy hs <hshpy.pengyu@gmail.com >
* perf(net): sequential and dynamic concurrency
* fix(net): incorrect error return
* feat(alias): add `DownloadConcurrency` and `DownloadPartSize` option
* feat(net): add `ConcurrencyLimit`
* pref(net): create `chunk` on demand
* refactor
* refactor
* fix(net): `r.Closers.Add` has no effect
* refactor
---------
Co-authored-by: hpy hs <hshpy.pengyu@gmail.com >
2025-01-27 20:08:39 +08:00
bb40e2e2cd
feat(archive): archive manage ( #7817 )
...
* feat(archive): archive management
* fix(ftp-server): remove duplicate ReadAtSeeker realization
* fix(archive): bad seeking of SeekableStream
* fix(archive): split internal and driver extraction api
* feat(archive): patch
* fix(shutdown): clear decompress upload tasks
* chore
* feat(archive): support .iso format
* chore
2025-01-18 23:28:12 +08:00
8278d3875b
fix: ignore os.ErrClosed error on repeated FileStream close operations ( #6762 )
...
Also resolves the issue where S3 PutObject returns a 500 status code.
2024-07-14 20:59:24 +08:00
b95df1d745
perf: use io copy with buffer pool ( #6389 )
...
* feat: add io methods with buffer
* chore: move io.Copy calls to utils.CopyWithBuffer
2024-04-25 20:11:15 +08:00
e37465e67e
feat(crypt): force stream upload for supported drivers ( #6270 )
2024-03-29 14:42:01 +08:00
b604e21c69
feat(webdav): support http chunked request ( close #5161 in #5162 )
...
But we do not recommend not adding the content-length header when putting files
2023-09-05 13:03:29 +08:00
e7c0d94b44
fix: form upload when ticked As A Task
( #5145 )
2023-09-03 15:40:40 +08:00
ce10c9f120
fix: temp file not close and incorrect WebPutAsTask
2023-08-28 18:18:02 +08:00
a3748af772
feat: misc improvements about upload/copy/hash ( #5045 )
...
general: add createTime/updateTime support in webdav and some drivers
general: add hash support in some drivers
general: cross-storage rapid-upload support
general: enhance upload to avoid local temp file if possible
general: replace readseekcloser with File interface to speed upstream operations
feat(aliyun_open): same as above
feat(crypt): add hack for 139cloud
Close #4934
Close #4819
baidu_netdisk needs to improve the upload code to support rapid-upload
2023-08-27 21:14:23 +08:00