5880c8e1af
fix(189tv): use rate-limited upload stream in OldUpload function ( #1176 )
...
* fix(189tv): use rate-limited upload stream in OldUpload function
* fix(189tv): wrap tempFile with io.NopCloser to prevent premature closure in OldUpload function
* .
2025-08-29 16:01:50 +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
bbd4389345
fix(wopan): use fixed timezone for parsing time ( #1170 )
...
fix(wopan): update getTime function to use fixed timezone for parsing
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-28 13:02:02 +08:00
f350ccdf95
fix(189pc): sliceSize must not be equal to fileSize ( #1169 )
...
* fix(189pc): sliceSize not equal to fileSize
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
* Update comment for sliceSize parameter
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
---------
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-28 11:32:40 +08:00
4f2de9395e
feat(degoo): token improvement ( #1149 )
...
* Update driver.go
Signed-off-by: Caspian <app@caspian.im >
* Update meta.go
Signed-off-by: Caspian <app@caspian.im >
* Update util.go
Signed-off-by: Caspian <app@caspian.im >
* Update util.go
Signed-off-by: Caspian <app@caspian.im >
* Update util.go
Signed-off-by: Caspian <app@caspian.im >
* Update util.go
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
* make account optional
* ensure username and password
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
---------
Signed-off-by: Caspian <app@caspian.im >
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-26 01:22:59 +08:00
b0dbbebfb0
feat(drivers): add Teldrive driver ( #1116 )
...
https://github.com/tgdrive/teldrive
https://teldrive-docs.pages.dev/docs/api
实现:
* copy
* move
* link (302 share and local proxy)
* chunked uploads
* rename
未实现:
- openlist扫码登陆
- refresh token
https://github.com/OpenListTeam/OpenList-Docs/pull/155
* feat(Teldrive): Add driver Teldrive
* fix(teldrive): force webproxy and memory optimized
* chore(teldrive): go fmt
* chore(teldrive): remove TODO
* chore(teldrive): organize code
* feat(teldrive): add UseShareLink option and support 302
* fix(teldrive): standardize API path construction
* fix(teldrive): trim trailing slash from Address in Init method
* chore(teldrive): update help text for UseShareLink field in Addition struct
* fix(teldrive): set 10 MiB as default chunk size
---------
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: ILoveScratch <ilovescratch@foxmail.com >
2025-08-25 01:34:08 +08:00
0c27b4bd47
docs(contributing): update guidelines ( #983 )
...
[skip ci]
* docs(contributing): update guidelines
* docs(contributing): clarify fork
* docs(contributing): sync translation
Co-authored-by: Yinan Qin <39023210+elysia-best@users.noreply.github.com >
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
* docs(contributing): add label and cc reminder
* docs(contributing): remove ensure new branch from checklist
* docs(contributing): replace generic GitHub URLs with user-specific ones
* docs(contributing): make branch deletion after PR merge optional
* docs(contributing): keep --recurse-submodules
---------
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: Yinan Qin <39023210+elysia-best@users.noreply.github.com >
2025-08-24 20:13:11 +08:00
736cd9e5f2
fix(quark): fix getTranscodingLink ( #1136 )
...
The first video info may not contain url
* fix(quark): fix getTranscodingLink
* fix(quark_tv): fix getTranscodingLink
2025-08-24 19:55:10 +08:00
c7a603c926
fix(115): fix get 115 app version ( #1137 )
2025-08-24 19:50:21 +08:00
a28d6d5693
fix(123_open): fix token refresh ( #1121 )
2025-08-23 23:01:41 +08:00
e59d2233e2
feat(drivers): add Degoo driver ( #1097 )
...
* Create driver.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Create util.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Create types.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Create meta.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update drivers/degoo/driver.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update drivers/degoo/driver.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update driver.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update meta.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update types.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update util.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update driver.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update util.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update drivers/degoo/util.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: CaspianGUAN <app@caspian.im >
* Update util.go
Signed-off-by: CaspianGUAN <app@caspian.im >
* refactor(degoo): add Degoo driver integration and update API handling
* fix(degoo): apply suggestions
---------
Signed-off-by: CaspianGUAN <app@caspian.im >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-23 22:47:02 +08:00
01914a06ef
refactor(ci): add permissions check at docker's entrypoint ( #1128 )
...
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
2025-08-22 19:35:48 +08:00
6499374d1c
fix(deps): update 115driver to v1.1.1 (close SheltonZhu/115driver#57) ( #1115 )
2025-08-20 21:33:21 +08:00
b054919d5c
feat(ilanzou): add support for rapid upload and fix duplication handling ( #1065 )
...
* feat(ilanzou): add support for rapid upload token handling
* feat(ilanzou): add NoOverwriteUpload option
2025-08-19 19:19:44 +08:00
048ee9c2e5
feat(server): adapting #1099 to #991 ( #1102 )
2025-08-19 15:48:59 +08:00
23394548ca
feat(123_open): add DirectLink
option ( #1045 )
...
* feat(123_open): add `UseDirectLink` option
* feat(123_open): update rate limit rules
* fix(123_open): update api
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
* feat(123_open): enhance direct link functionality with private key and expiration
* refactor(123_open): use UUID for random generation
---------
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-19 15:23:10 +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
5d8bd258c0
refactor(docker): reduce docker image size ( #1091 )
...
* fix(docker): reduce image size
* refactor(docker): update user and group creation
* Update Dockerfile
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
---------
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-19 10:27:33 +08:00
08c5283c8c
feat(docker): Update docker-compose configuration ( #1081 )
...
* feat(docker): Update docker-compose configuration
* Update docker-compose.yml
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
Signed-off-by: huancun _- <huancun@hc26.org >
---------
Signed-off-by: huancun _- <huancun@hc26.org >
Co-authored-by: MadDogOwner <xiaoran@xrgzs.top >
v4.1.1
2025-08-18 14:29:59 +08:00
10a14f10cd
fix(docker): improve startup process and SIGTERM handling ( #1089 )
...
* fix(ci): Modify the way of star OpenList.
* fix(ci): start runsvdir
2025-08-18 11:13:05 +08:00
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
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
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
71ada3b656
fix(ci-sync): fix workflow for syncing Repository ( #1062 )
2025-08-15 18:48:55 +08:00
dc42f0e226
[skip ci]fix(ci): update sync workflow ( #1061 )
2025-08-15 18:36:52 +08:00
74bf9f6467
[skip ci]feat(sync): add workflow to sync GitHub repository ( #1060 )
...
feat(sync): add workflow to sync GitHub repository to Gitee
2025-08-15 18:12:29 +08:00
d0c22a1ecb
feat(ci): add the default user for docker image ( #1036 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-12 09:51:40 +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
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
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
b9b8eed285
[skip ci]feat(ci): add FRONTEND_REPO variable to workflows and build script ( #1006 )
2025-08-08 16:36:22 +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
c8f2aaaa55
feat(cmd): add delete command for storage ( #952 )
2025-08-04 17:30:43 +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
05ff7908f2
fix(strm): encoded path is ineffective ( #951 )
2025-08-02 00:23:18 +08:00
a703b736c9
feat(offline_download): filter empty URLs in offline download requests ( #948 )
2025-08-01 16:12:21 +08:00