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
c1d03c5bcc
fix(security): zip slip ( #1228 )
...
* fix(security): Zip Slip
* chore:remove repeat clean
* fix: archives,iso9660 and rardecode module
---------
Co-authored-by: ILoveScratch <ilovescratch@foxmail.com >
2025-09-15 13:25:21 +08:00
bbb7c06504
feat(alias): support pass through provider ( #1269 )
2025-09-14 21:36:38 +08:00
89f35170b3
fix(fs): clear cache after directory rename to ensure consistency ( #1193 )
...
Clear cache after renaming the directory.
2025-09-01 18:47:54 +08:00
04a5e58781
fix(server): can't edit .md source files ( #1159 )
...
* fix(server): can't edit .md source files
* chore
* add ignore direct link args
2025-08-28 16:19:57 +08:00
e4c902dd93
feat(share): support more secure file sharing ( #991 )
...
提供一种类似大多数网盘的文件分享操作,这种分享方式可以通过强制 Web 代理隐藏文件源路径,可以设置分享码、最大访问数和过期时间,并且不需要启用 guest 用户。
在全局设置中可以调整:
- 是否强制 Web 代理
- 是否允许预览
- 是否允许预览压缩文件
- 分享文件后,点击“复制链接”按钮复制的内容
前端部分:OpenListTeam/OpenList-Frontend#156
文档部分:OpenListTeam/OpenList-Docs#130
Close #183
Close #526
Close #860
Close #892
Close #1079
* feat(share): support more secure file sharing
* feat(share): add archive preview
* fix(share): fix some bugs
* feat(openlist_share): add openlist share driver
* fix(share): lack unwrap when get virtual path
* fix: use unwrapPath instead of path for virtual file name comparison
* fix(share): change request method of /api/share/list from GET to Any
* fix(share): path traversal vulnerability in sharing path check
* 修复分享alias驱动的文件 没开代理时无法获取URL
* fix(sharing): update error message for sharing root link extraction
---------
Co-authored-by: Suyunmeng <69945917+Suyunmeng@users.noreply.github.com >
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-08-19 15:10:02 +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
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
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
1208bd0a83
fix(fs): nil interface not equal to nil ( #971 )
...
https://go.dev/doc/faq#nil_error
2025-08-03 23:51:11 +08:00
6b096bcad4
fix(fs): deadlock when get link error ( #963 )
2025-08-02 17:49:53 +08:00
58dbf088f9
fix(fs): forget cache when get link error ( #956 )
2025-08-02 11:03:34 +08:00
e458f2ab53
fix(bootstrap): add newline after initial admin password output ( #943 )
...
fix(bootstrap): add newline after initial admin password output
2025-08-01 13:43:41 +08:00
9469c95b14
fix(security): potential XSS vulnerabilities ( #896 )
2025-07-31 12:57:20 +08:00
cf912dcf7a
fix(cmd): output to console ( #920 )
...
fix(cmd): output to terminal
2025-07-31 11:44:00 +08:00
ccd4af26e5
feat(patch): add migration from Alist V3 driver to OpenList ( #919 )
...
* feat(patch): add migration from Alist V3 driver to OpenList
* chore(patch): improve logging
2025-07-31 11:43:21 +08:00
1682e873d6
feat(search): enhanced meilisearch
search experience ( #864 )
...
* feat(search): enhanced `meilisearch` search experience
- upgrade `meilisearch` dependency
- support subdirectory search
- optimize searchDocument fields for subdirectory search
- specify full index uid instead of index prefix
* fix(search): more fixes to `meilisearch`
- make use of context where context was not used
- remove code of waiting task in deletion process, as tasks are queued and will be executed orderly (if tasks were submitted to the queue successfully), which can improve `AutoUpdate` performance
2025-07-31 11:24:22 +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
d6867b4ab6
fix(user): show admin password on first start ( #883 )
...
* fix: fix admin password not shown in first start
* chore: add time dependence
Co-authored-by: Yinan Qin <39023210+elysia-best@users.noreply.github.com >
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
* fix: fix log format
Co-authored-by: Yinan Qin <39023210+elysia-best@users.noreply.github.com >
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
---------
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
Co-authored-by: Yinan Qin <39023210+elysia-best@users.noreply.github.com >
2025-07-29 21:36:27 +08:00
7da06655cb
feat(setting): add site version information ( #859 )
...
* feat(setting): add site version information
* feat(conf): update conf.WebVersion to rolling
* fix(static): update condition to check conf.Version instead of conf.WebVersion
* fix(build.sh): use rolling release for web frontend in dev and beta builds
* chore(build.sh): update GitAuthor to The OpenList Projects Contributors
* fix(static): update condition to check conf.WebVersion
2025-07-29 09:49:33 +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
4e9c30f49d
feat(fs): full support webdav cross-driver copy and move ( #823 )
...
* fix(fs): restore webdav cross-driver copy and move
* fix bug
* webdav支持复制、移动 文件夹
* 优化
* 。
2025-07-26 00:27:46 +08:00
da8d6607cf
fix(static): support logo replacement ( #834 Close #754 )
2025-07-25 17:12:51 +08:00
b273232f87
refactor(log): redir utils.Log to logrus after init ( #833 )
2025-07-25 13:38:45 +08:00
358e4d851e
refactor(log): filter ( #816 )
2025-07-25 11:33:27 +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
a9f02ecdac
refactor(log):Refactor log filtering to use centralized configuration and add server-specific filtering ( #798 )
...
* feat(log):Add configurable log filtering middleware for HTTP requests
Implement a comprehensive log filtering system that allows selective suppression of HTTP request logs based on paths, methods, and prefixes. The system includes environment variable configuration support and filters health checks, WebDAV requests, and HEAD requests by default to reduce log noise.
* fix(log):Replace gin.DefaultLogFormatter with custom implementation
* Remove filtered logger test file
* fix(log):Refactor log filtering to use centralized configuration and add server-specific filtering
* fix(log):Add documentation comments for log filtering configuration
2025-07-24 16:10:47 +08:00
5f03edd683
fix(fs):After the file is copied or moved, flush the cache of the directory that was copied or moved to. ( #592 )
...
* fix(fs):After the file is copied, the cache of the copied directory is refreshed
* fixed randomstring
* fixed EOL and Sync branch
chore(quark_uc): `webdav_policy` default to native_proxy
* fixed uuid and other bugs
* fixed comments
* fixed EOL
* add move refresh
* fixed builds
* fixed batch
* change betch to task.go
---------
Co-authored-by: Sumengjing <146963948+suyunjing-su@users.noreply.github.com >
2025-07-24 10:24:12 +08:00
8b65c918d4
chore(permission): admin enables webdav read-only by default ( #726 )
...
chore: admin enables webdav read-only by default
2025-07-24 10:19:49 +08:00
bba4fb2203
fix(security): directory traversal ( #744 )
...
* fix(security): Directory traversal
* chore: .
* 优化
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-22 14:45:01 +08:00
a20c2020f8
fix(cmd): optimize parse of command flag --data
( #777 )
...
* Fix (cmd): optimize parse of command flag `--data`
* DBFile
* 优化
* os.Getwd()
2025-07-22 10:51:28 +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
811a862288
feat(archives): add additional accepted archive extensions ( #747 )
2025-07-20 15:32:46 +08:00
74d32fd4d7
fix(simplehttp): logic bug when unable to parse file name ( #761 )
2025-07-20 14:13:30 +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
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
2a4c546a8b
feat: default settings api ( #716 )
...
* feat: default settings api
* fix logic bug
* chore
2025-07-14 23:41:34 +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
e5fbe72581
fix(security): add login count validation for webdav ( #693 )
2025-07-12 17:03:41 +08:00
19c6b6f930
feat(115_open): add offline download ( #683 )
2025-07-11 20:17:54 +08:00
7c7cec0993
style(offline_download): add more description in log ( #653 )
...
fix(offline_download): add more description in log
2025-07-09 14:16:05 +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
a77e515c9b
fix(ocr): repair verification code OCR recognition service ( #602 )
...
* fix(ocr):Repair verification code OCR recognition service
* 修复对 非新用户 无效的问题
* chore: SettingItem.PreDefault重命名为MigrationValue
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-06 13:09:17 +08:00
9557834342
[skip ci] chore(net): update test
2025-07-04 18:44:52 +08:00
f3920b02f7
fix(net): goroutine deadlock
2025-07-04 12:52:21 +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
e83f8e197a
feat(offline-download): SimpleHttp
: download stream direct upload ( #523 )
...
* feat(offline-download): stream download to upload
* 重命名stream_put为upload_download_stream
* chore
2025-07-02 18:47:16 +08:00
c166fe6127
chore: remove exp and go mod tidy ( #440 )
2025-07-02 15:30:53 +08:00