f86ebc52a0
refactor(123_open): improve upload ( #1076 )
...
* refactor(123_open): improve upload
* optimize buffer initialization for multipart form
* 每次重试生成新的表单
* .
2025-08-17 14:25:23 +08:00
d76407b201
fix(dropbox): incorrect path error during upload ( #1052 )
...
* Fix incorrect path error during upload on Dropbox
* Add RootNamespaceId to the config for direct modification
* Refactor Dropbox header logic: extract JSON marshaling into helper method
* Fix Dropbox: replace marshalToJSONString with utils.Json.MarshalToString
2025-08-16 14:18:02 +08:00
5de6b660f2
fix(terabox): user not exists error ( #1056 )
...
* fix user location error when upload file
2025-08-15 21:25:57 +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
8c244a984d
refactor(assets): migrate to resource domain ( #975 )
...
* refactor(assets): migrate to resource domain
* feat(bootstrap): add migration value for logo and favicon settings
2025-08-10 09:57:33 +08:00
df479ba806
fix(aliyundrive_open): limit rate for every request ( close #724 ) ( #1011 )
...
* fix(aliyundrive_open): limit rate for `Remove` and `MakeDir`; reduce limit for `List` and `Link` (close #724 )
* Update drivers/aliyundrive_open/driver.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: 火星大王 <34576789+huoxingdawang@users.noreply.github.com >
* Update drivers/aliyundrive_open/driver.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: 火星大王 <34576789+huoxingdawang@users.noreply.github.com >
* fix(aliyundrive_open): limit rate for every request
* fix(aliyundrive_open): fix limiter not work on reference driver
* fix(aliyundrive_open): typo
* fix(aliyundrive_open): limiter not set to nil after free
* fix(aliyundrive_share): limit rate for every request
---------
Signed-off-by: 火星大王 <34576789+huoxingdawang@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-10 09:55:20 +08:00
5ae8e96237
feat(123_open): update Put method to return model.Obj ( #1008 )
...
* feat(123_open): update Put method to return model.Obj
* fix(123_open): declear time zones
* chore(123_open): fix typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
* fix(123_open): use fixed timezone
* fix(123_open): implement PutResult interface for Open123 driver
---------
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Suyunmeng <69945917+Suyunmeng@users.noreply.github.com >
2025-08-09 15:09:12 +08:00
93c06213d4
feat(local): add directory size support ( #624 )
...
* feat(local): add directory size support
* fix(local): fix and improve directory size calculation
* style(local): fix code style
* style(local): fix code style
* style(local): fix code style
* fix(local): refresh directory size when force refresh
Signed-off-by: 我怎么就不是一只猫呢? <26274059+dezhishen@users.noreply.github.com >
* fix:(local): Avoid traversing the parent's parent, which leads to an endless loop
Signed-off-by: 我怎么就不是一只猫呢? <26274059+dezhishen@users.noreply.github.com >
* fix(local:) refresh dir size only enabled
Signed-off-by: 我怎么就不是一只猫呢? <26274059+dezhishen@users.noreply.github.com >
* fix(local): logical error && add RecalculateDirSize && cleaner code for int64
* feat(local): add Benchmark for CalculateDirSize
* refactor(local): 优化移动中对于错误的判断。
---------
Signed-off-by: 我怎么就不是一只猫呢? <26274059+dezhishen@users.noreply.github.com >
Co-authored-by: 我怎么就不是一只猫呢? <26274059+dezhishen@users.noreply.github.com >
2025-08-08 16:59:16 +08:00
317d190b77
fix(ftp): create a new connection for each download ( #989 )
2025-08-06 20:35:01 +08:00
52d7d819ad
feat(lenovonas_share): add thumb ( #986 )
2025-08-06 17:34:43 +08:00
0483e0f868
feat(driver_strm): also shown some files with strm ( #969 )
...
* feat(driver_strm): Also shown some files with strm
Allow user set some file types that need to shown with strm, usually subtitles
Most of code was copy and managed from drivers/alias
* 优化
* 优化
* 。
* 添加注释
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
2025-08-06 15:40:48 +08:00
08dae4f55f
feat(123_open): update upload api v2 ( #976 )
2025-08-06 15:27:13 +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
05ff7908f2
fix(strm): encoded path is ineffective ( #951 )
2025-08-02 00:23:18 +08:00
a5a22e7085
fix(local): Treat junction as directory in Windows. ( #809 )
...
Treat junction as directory in Windows.
2025-07-31 13:54:56 +08:00
54ae7e6d9b
feat(115_open): Add GetObjInfo to accelerate getting link ( #888 )
...
* feat(115_open): Add GetObjInfo to accelerate getting link
* feat(fs): use cache directly when cache exist
2025-07-31 11:20:02 +08:00
991da7d87f
feat(strm): add local mode ( #885 )
...
* feat(strm): add local mode
* Update drivers/strm/meta.go
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
Signed-off-by: Seven <53081179+Seven66677731@users.noreply.github.com >
* feat(strm): local mode add sign
---------
Signed-off-by: Seven <53081179+Seven66677731@users.noreply.github.com >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-07-31 11:18:59 +08:00
a498091aef
fix(123&&123_share): fix link request header referer ( #915 )
2025-07-31 10:10:38 +08:00
976c82bb2b
fix(drivers): update time-related fields to int64 ( #913 )
...
- In doubao/types.go:
- Change LastUpdateTime from int to int64
- Change UserCreateTime from int to int64
- In doubao_share/types.go:
- Change CreateTime and UpdateTime from int to int64 in ShareInfo and FilePath
- In quark_uc/types.go:
- Change UpdateTime from int to int64 in TranscodingResp
These changes ensure consistent and accurate representation of timestamp data across the project.
2025-07-31 10:10:32 +08:00
e0b3a611ba
feat(thunderx,pikpak): add offline download support for ThunderX; add ctx to specific PikPak functions ( #879 )
...
* feat(thunderx,pikpak): add offline download support for ThunderX; add ctx to specific PikPak functions
* Update internal/offline_download/tool/download.go
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
Signed-off-by: 花月喵梦 <152958106+nekohy@users.noreply.github.com >
---------
Signed-off-by: 花月喵梦 <152958106+nekohy@users.noreply.github.com >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-07-29 09:46:28 +08:00
0ee31a3f36
fix(crypt): wrong ContentLength
2025-07-25 19:55:22 +08:00
23bddf991e
feat(drivers): enable local sorting for cloudreve, ilanzou ( #840 )
...
* feat(cloudreve): enable local sorting
* feat(ilanzou): enable local sorting
2025-07-25 18:01:19 +08:00
e93ab76036
feat(task-group): introduce TaskGroupCoordinator for coordinated task execution ( #721 )
...
* feat(task): add task hook,batch task
refactor(move): move use CopyTask
* Update internal/task/batch_task/refresh.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Seven <53081179+Seven66677731@users.noreply.github.com >
* fix: upload task allFinish judge
* Update internal/task/batch_task/refresh.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: Seven <53081179+Seven66677731@users.noreply.github.com >
* feat: enhance concurrency safety
* 优化代码
* 解压缩
* 修复死锁
* refactor(move): move as task
* 重构,优化
* .
* 优化,修复bug
* .
* 修复bug
* feat: add task retry judge
* 代理Task.SetState函数来判断Task的生命周期
* chore: use OnSucceeded、OnFailed、OnBeforeRetry functions
* 优化
* 优化,去除重复代码
* .
* 优化
* .
* webdav
* Revert "fix(fs):After the file is copied or moved, flush the cache of the directory that was copied or moved to."
This reverts commit 5f03edd683
.
---------
Signed-off-by: Seven <53081179+Seven66677731@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-24 16:15:24 +08:00
4c069fddd6
fix(terabox): file upload error ( #733 )
...
* fix(terabox):fix file upload error failed to create file errno 10
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
* fix(terabox):fix file upload error failed to create file errno 10
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
* replace the goto statement with the retry-go package
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
* Update util.go
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
* Update util.go
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
* go fmt
---------
Signed-off-by: yuyamionini <46483865+yuyamionini@users.noreply.github.com >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-07-23 23:42:12 +08:00
a92b5eb929
refactor(cloudreve): use retry-go
for net/http
uploads ( #773 )
...
* refactor(cloudreve): use retry-go for uploads
* refactor(cloudreve_v4): use retry-go for uploads
* refactor(onedrive): use retry-go for uploads
* refactor(onedrive_app): use retry-go for uploads
* chore(onedrive_app): remove unnecessary error handling for host retrieval
* feat(cloudreve): move read logic inside retry block
* feat(cloudreve_v4): move read logic inside retry block
* feat(onedrive): move read logic inside retry block
* feat(onedrive_app): move read logic inside retry block
2025-07-22 10:25:04 +08:00
5a0d8ee1b8
feat(proxy): add disable proxy sign ( #764 )
...
* feat(proxy): add disable proxy sign
* Update driver.go
* GenerateDownProxyUrl
* .
* Update internal/op/driver.go
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
* .
---------
Signed-off-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
Co-authored-by: j2rong4cn <36783515+j2rong4cn@users.noreply.github.com >
2025-07-21 17:03:08 +08:00
012e51c551
fix(cloudreve_v4): remove deprecated authn check for login ( #767 )
...
* fix(cloudreve_v4): disable authn check for login
* chore(cloudreve_v4): update site login config fields
2025-07-21 15:53:10 +08:00
59ec1dbc9b
feat(lenovonas_share): add option to not show root directory ( #772 )
2025-07-21 14:38:10 +08:00
6bb28d13f9
fix(quark): set the transcoding link ContentLength to the correct size
2025-07-20 16:40:32 +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
e8d45398d6
feat(quark_uc_tv): add streaming link api ( #728 )
2025-07-17 14:24:16 +08:00
0c461991f9
chore: standardize context keys with custom ContextKey type ( #697 )
...
* chore: standardize context keys with custom ContextKey type
* fix bug
* 使用Request.Context
2025-07-14 23:55:17 +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
a84ffb96e9
chore(ci):Simplify the build process ( #686 )
...
* refactor(ci):Minify build files
2025-07-11 20:30:31 +08:00
19c6b6f930
feat(115_open): add offline download ( #683 )
2025-07-11 20:17:54 +08:00
3838ef0663
feat(traffic): update progress when caching file ( #646 )
...
* feat(traffic): update progress when caching file
* 调整参数位置和命名
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-08 21:41:45 +08:00
9e610af114
fix(115_open): upload progress error ( #637 )
2025-07-07 18:39:09 +08:00
0177177238
fix(crypt): pass refresh list request ( close #609 )
2025-07-06 13:20:42 +08:00
4af16ab009
fix(115open):fix limit_rate save ( #601 )
2025-07-06 12:07:07 +08:00
92f396df10
chore(quark_uc): webdav_policy
default to native_proxy
2025-07-04 19:06:40 +08:00
288ba2fcda
chore(strm): remove excess parameters ( #587 )
2025-07-04 17:50:37 +08:00
bea7a9b0e4
chore: remove deprecated trainbit drive ( #563 )
...
* chore: remove deprecated trainbit drive
* chore: go mod tidy
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-03 18:30:37 +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
8e19a0fb07
fix(s3): logic bug (close #547 #548 )
2025-07-03 10:36:34 +08:00
79f4f96217
feat(strm):add sign and encode path options ( #537 )
2025-07-02 21:09:57 +08:00
d707f002eb
chore(quark_uc): WebProxy
enabled by default
2025-07-02 16:37:56 +08:00
9725e0fd76
fix(s3): correctly handle URL when RemoveBucket
is enabled ( #497 )
...
* fix(s3): correctly handle URL when RemoveBucket is enabled
* fix(s3): handle errors
2025-07-02 15:23:22 +08:00
5c4cd1b198
feat(strm): support multiple drivers ( #510 )
2025-07-02 15:16:46 +08:00
44f4658f37
docs: better error hint for wrong refresh token ( #517 )
...
* docs: better error hint for wrong refresh token
* fix: modify punctuation
2025-07-02 10:20:43 +08:00