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
bbb7c06504
feat(alias): support pass through provider ( #1269 )
2025-09-14 21:36:38 +08:00
14bf4ecb4c
fix(share): support custom proxy url ( #1130 )
...
* feat(share): support custom proxy url
* fix(share): count access
* fix: maybe a path traversal vulnerability?
2025-08-28 22:11:19 +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
048ee9c2e5
feat(server): adapting #1099 to #991 ( #1102 )
2025-08-19 15:48:59 +08:00
b04677b806
feat(server): add error page and status code ( #1099 )
2025-08-19 15:18:12 +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
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
aa0ced47b0
fix(webdav): Handle HEAD requests for directories with appropriate headers ( #1015 )
...
Implement handling of HEAD requests for directories by setting the correct Content-Type and Content-Length headers.
2025-08-09 13:57:09 +08:00
ab747d9052
feat(config): Add PWA manifest.json endpoint for web app installation ( #990 )
...
* feat(config): Add PWA manifest.json endpoint for web app installation
* fix: Update comment to English in manifest handler
* fix: fix EOL
* fix: Remove unused fmt import from manifest handler
* feat: use site settings for manifest name and icon
* fix(manifest): Move manifest.json route to static handler for proper CDN handling
* feat: move manifest.json handler to static package and improve path handling
* feat: Add custom static file handler to prevent manifest.json conflicts
* fix: Integrate manifest.json handling into static file serving routes
* fix: Simplify PWA manifest scope handling and static file serving
- Remove CDN-specific logic for PWA manifest scope and start_url
- Always use base path for PWA scope regardless of CDN configuration
- Replace manual file serving logic with http.FileServer for static assets
* fix: Ensure consistent base path handling in site configuration and manifest path construction
* fix: Refactor trailing slash handling in site configuration
* feat(static): update manifest path handling and add route for manifest.json
2025-08-08 20:07:51 +08:00
a703b736c9
feat(offline_download): filter empty URLs in offline download requests ( #948 )
2025-08-01 16:12:21 +08:00
11cf561307
fix(security): potential XSS vulnerabilities ( #880 )
...
* fix(security): potential XSS vulnerabilities
* chore: replace alist identifier to openlist identifier
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
---------
Signed-off-by: ILoveScratch <ilovescratch@foxmail.com >
Co-authored-by: ILoveScratch <ilovescratch@foxmail.com >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-07-29 20:17:11 +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
da8d6607cf
fix(static): support logo replacement ( #834 Close #754 )
2025-07-25 17:12:51 +08:00
6134574dac
fix(fs): rename bug ( #832 )
...
* fix(fs): rename bug
* chore
* fix bug
* .
---------
Co-authored-by: j2rong4cn <j2rong@qq.com >
2025-07-25 13:42:39 +08:00
358e4d851e
refactor(log): filter ( #816 )
2025-07-25 11:33:27 +08:00
4106e2a996
fix(static): correct CDN fetch condition for index.html ( #814 )
2025-07-24 22:28:58 +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
d9debb81ad
feat(log):Add configurable log filtering middleware for HTTP requests ( #782 )
...
* 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.
2025-07-24 00:00:26 +08:00
7d0de17daf
feat(static): fetch index.html from cdn for beta ( #372 )
...
* refactor(static): simplify folder iteration in Static function
* feat(static): disable local static when `cdn` is set
* feat(static): fetch index.html from cdn for beta
* refactor(static): use RestyClient for better retrying
* fix(static): add Accept header when fetching index.html from CDN
* refactor(static): optimize HTML replacement
* chore(static): add logging to static file system initialization
* feat(static): ensure static file redirected to CDN
2025-07-22 22:14:07 +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
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
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
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
52c93f2046
build:Update old dependencies to new hosting ( #495 )
...
* build:Update old dependencies to new hosting
2025-06-30 21:26:42 +08:00
103abc942e
refactor: pass api_url
through context ( #457 )
...
* refactor: pass `api_url` through context
* 移除 LinkArgs.HttpReq
* pref(alias): 减少不必要下载代理
* 修复bug
* net: 支持1并发 分片下载
2025-06-30 15:48:05 +08:00
4590795cba
fixed(fs):fixed overwrite functions ( #469 )
...
* fixed(fs):fixed overwrite functions
2025-06-29 12:17:23 +08:00
18f7a2ba0e
fix(s3): fix deleting an empty folder issue and filename encoding ( #429 )
2025-06-27 20:26:53 +08:00
02031bd835
feat(s3): add Content-Disposition header ( #365 )
...
* add(s3): add Content-Disposition header
* Update driver.go
Signed-off-by: XZB-1248 <28593573+XZB-1248@users.noreply.github.com >
* Update driver.go
Signed-off-by: XZB-1248 <28593573+XZB-1248@users.noreply.github.com >
---------
Signed-off-by: XZB-1248 <28593573+XZB-1248@users.noreply.github.com >
Co-authored-by: XZB-1248 <i@1248.ink >
Co-authored-by: Suyunjing <69945917+Suyunmeng@users.noreply.github.com >
2025-06-27 15:29:08 +08:00
0fd602bc1b
refactor(fs):Refactor the delete function and fix known issues ( #353 )
...
* fix(move):Fix file move logic
* fix(move):fixed move logic
* fix(move):Fixed move logic
* Fixed errs
* fix(move):fixed movetask
* fix(move):fix movetask
* fixed
* fix(move):Refactoring the move structure
* fix(move):Fixed move system
* Fixed
* Fixed
* Fixed
* Fixed
* Fixed
* Rollback
* Fixed and Refactor
* fix(move):fixed
* fix(move):Solve related performance issues
* refacter(move):fixed build bugs
2025-06-24 23:36:37 +08:00
d695d28e13
feat(thunder&thunder_browser): fix deviceId generation & support offline download and update login interface ( #290 )
...
* fix(thunder): fix deviceID generation
* feat(thunder_browser): support offline download and update login interface
* feat(thunder_browser): add fluent_play method for offline download
2025-06-24 21:54:30 +08:00
0026f0c860
fix(ci):Fixed webversion ( #333 )
...
* Revert "fix(ci):fixed webversion (#332 )"
This reverts commit 9e69b2aaa3
.
* Fixed webversion
Signed-off-by: Suyunjing <69945917+Suyunmeng@users.noreply.github.com >
---------
Signed-off-by: Suyunjing <69945917+Suyunmeng@users.noreply.github.com >
2025-06-24 07:12:18 +08:00
12540a8abc
fix: http2 content-length ( #224 )
2025-06-20 17:57:14 +08:00
0f5ed14fe2
feat(fs): add cross-storage move support ( #211 )
...
* feat(fs): add cross-storage move support
* fix(fs): add check before moving files
* fix(fs): changed error detect method
---------
Co-authored-by: ShenLin <773933146@qq.com >
2025-06-20 17:54:24 +08:00
ca55b89322
remove alist from repo ( #230 )
...
* remove alist from repo
* remove alist from repo
* remove alist from repo
2025-06-20 17:41:16 +08:00
70b937e031
Revert "feat(log): add error logging middleware for improved error handling ( #182 )"
...
This reverts commit 5e8d8d070a
.
2025-06-19 09:56:45 +08:00
5e8d8d070a
feat(log): add error logging middleware for improved error handling ( #182 )
2025-06-18 20:37:16 +08:00
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
d95c4f0127
chore: change the CDN link of the logo and modify the OCR port ( #84 )
...
* Change the CDN link of the logo and modify the OCR port
* Update
* Rollback OCR interface
2025-06-15 23:19:25 +08:00
2965915bed
chore(deps): switch the dependency from KirCute/sftpd-alist to OpenListTeam/sftpd-openlist ( #64 )
2025-06-14 16:04:13 +08:00
da1cfd1945
chore(deps): remove dependency KirCute/ftpserverlib-pasvportmap ( #61 )
2025-06-14 15:56:51 +08:00
9e05c81d9c
chore: update project logo ( #26 )
2025-06-12 23:29:35 +08:00