Commit Graph
42 Commits
Author SHA1 Message Date
MarSeventh 4fdd6be188 fix: harden batch delete request handling 2026-07-23 11:43:33 +08:00
MarSeventh b259bb52ea fix: restore batch delete error handling syntax 2026-07-23 11:38:13 +08:00
叁月柒andCopilot Autofix powered by AI 301bbfa0a9 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-23 10:46:13 +08:00
caoyong 65cd72b8b9 feat(manage): add concurrent batch image deletion 2026-07-22 19:59:04 +08:00
MarSeventh 4ac7f0ca53 refactor: group metadata utilities 2026-06-02 22:09:45 +08:00
MarSeventh 6a8e4e83bf Unify WebDAV credential resolution 2026-06-02 19:19:43 +08:00
sean908 b9182fdc85 fix: prevent metadata credential leaks 2026-06-02 09:34:52 +00:00
MarSeventh 392ef53409 refactor: move storage api utils into subdirectory 2026-04-28 17:54:43 +08:00
htazq f046b15e6a Keep WebDAV secrets out of file metadata
WebDAV upload records now store only the channel identity and object/public paths. Read, delete, move, and rename operations resolve credentials and headers from the current WebDAV channel config by ChannelName, with a legacy metadata fallback so already-created records remain usable.

Constraint: Preserve existing WebDAV object lifecycle behavior while reducing metadata exposure

Rejected: Keep credentials on every file record | expands exposure through metadata reads, backups, and logs

Confidence: high

Scope-risk: moderate

Directive: Keep WebDAV credentials in upload config/env; do not reintroduce per-file credential metadata

Tested: npm test; node deploy/worker/generate-routes.js; npx wrangler deploy --dry-run --config deploy/worker/wrangler.toml; git diff --check

Not-tested: Live WebDAV provider move/delete/read workflow
2026-04-28 09:42:03 +08:00
htazq 9c7a2b4336 Enable third-party WebDAV storage without new runtime dependencies
Cloudflare Workers and Pages already provide the Fetch/Web APIs needed for WebDAV verbs, so the storage integration uses a small local helper instead of adding a Node-oriented WebDAV client. The channel now participates in upload, read, delete, move, rename, channel listing, and runtime config, with chunked uploads explicitly guarded because WebDAV has no portable server-side compose primitive.

Constraint: Preserve Pages Functions and generated Worker deployment paths
Constraint: No new npm dependency for WebDAV client behavior
Rejected: Add a WebDAV npm client | likely Node API/compatibility and package-lock churn
Rejected: Treat WebDAV as External URL only | not a complete storage channel lifecycle
Confidence: high
Scope-risk: moderate
Directive: WebDAV here is third-party storage; keep it distinct from the built-in /dav server settings
Tested: npm test; node worker/generate-routes.js; npx wrangler deploy --dry-run --config worker/wrangler.toml; git diff --cached --check
Not-tested: Live third-party WebDAV provider credentials; Digest-only WebDAV authentication
2026-04-28 00:05:12 +08:00
copilot-swe-agent[bot]andMarSeventh 3b1536009d Replace URL rewrite with fetch interceptor to fix url.origin-based logic; fix folder delete/move body consumption bug
Co-authored-by: MarSeventh <108160987+MarSeventh@users.noreply.github.com>
2026-03-03 18:05:41 +00:00
MarSeventh 2c1ff7241b 目录树设置和体验优化 2026-03-01 11:25:39 +08:00
MarSeventh 3dcf08e8b2 目录树设置和体验优化 2026-03-01 11:13:43 +08:00
MarSeventh e92a8e0ef1 update v2.5.7 2026-01-30 16:14:19 +08:00
axibayuit 2df7e1ebea feat: add HuggingFace storage channel support
- Add HuggingFace API wrapper class (huggingfaceAPI.js)
- Support upload, download, delete operations via HuggingFace Hub API
- Support public repos (unlimited storage) and private repos (100GB limit)
- Private repos: server proxies requests with Authorization header
- Auto-create repo if not exists (with write token)
- Add HuggingFace to auto-retry channel list
- Environment variables: HF_TOKEN, HF_REPO, HF_PRIVATE
- Support load balancing for multiple HuggingFace channels
2025-12-30 17:46:11 +08:00
axibayuit 9ef46f45ce feat(discord): add delete message support for Discord channel 2025-12-30 15:57:17 +08:00
axibayuit 5c11f477af perf: 优化容量统计,从索引元数据读取,减少 KV 写入操作 2025-12-29 23:20:04 +08:00
axibayuit 1da5ea0dbf feat: add storage quota limit for S3/R2 channels
- Add quota counter tracking (usedMB, fileCount) per channel
- Filter channels by quota threshold in fetchUploadConfig()
- Update quota on upload (endUpload) and delete
- Add /api/manage/quota API for stats and recalculation
- Fix null check in delete when file record not found
- Fix R2 channel name from hardcoded to actual channel.name
2025-12-29 19:55:20 +08:00
MarSeventh ebf50f2edf Feat:后端接口跨域请求处理逻辑优化 2025-12-25 19:51:36 +08:00
初衷 dbea752676 fix:所有模块导入/导出的兼容性问题 2025-08-13 19:09:01 +08:00
初衷 d3291b82f8 fix:修复更多兼容方法 2025-08-13 17:56:34 +08:00
初衷 e901a08af9 feat:现有的 KV 存储数据迁移到 D1 数据库 2025-08-13 16:26:04 +08:00
MarSeventh 088c0e6c06 Feat:支持文件数据库索引,优化访问速度;后台增加系统状态页面 2025-07-28 22:28:12 +08:00
MarSeventh 132cb96040 Feat:支持nsfwjs审查渠道 2025-06-22 22:50:24 +08:00
MarSeventh 41e426b550 Bug:S3路径风格读取错误 2025-06-19 22:45:48 +08:00
MarSeventh 7624899599 Feat:S3渠道支持路径风格;代码风格优化 2025-06-19 15:23:29 +08:00
MarSeventh 631d81ad95 修复随机图API缓存不更新的问题 2025-03-14 22:51:22 +08:00
MarSeventh c32e65aef3 文件夹删除移动体验优化 2025-03-14 21:53:51 +08:00
MarSeventh d73475fdcf Feat: 随机图API支持指定目录 2025-03-07 18:53:36 +08:00
MarSeventh 2baecf6805 完善目录功能 2025-03-07 13:22:47 +08:00
MarSeventh 185c4e2203 完善目录功能 2025-03-07 00:24:31 +08:00
MarSeventh b078fa640d 修复部分bug;页面美化 2025-03-05 20:40:24 +08:00
zhou c6ed02dee2 添加文件夹的路径上传 2025-03-05 17:36:37 +08:00
MarSeventh 9a5573fcd6 S3路径统一为虚拟主机风格 2025-02-08 17:59:30 +08:00
MarSeventh 1ea5e16634 v2beta 2025-02-06 18:18:39 +08:00
MarSeventh b244154945 优化list相关接口的响应速度 2024-12-20 17:56:47 +08:00
MarSeventh 71be3408ab 管理端支持拉黑上传ip;管理端批量操作支持按照用户选择的顺序进行;random接口优化 2024-12-20 15:02:01 +08:00
MarSeventh 3aa788db1a 优化CDN缓存配置,提升性能;支持设置管理端删除、拉黑等操作绕过缓存,实时生效,见readme3.1.3.9节 2024-12-11 14:49:31 +08:00
MarSeventh 4f7b509a9f TG渠道记录更详细;支持自定义命名;支持自定义链接前缀;R2渠道删除时,存储桶同步删除 2024-12-04 23:25:35 +08:00
MarSeventh 48746382ea 优化后端url存储 2024-09-13 15:53:57 +08:00
MarSeventh f009a2e2a2 add notice when picture has been deleted 2024-09-11 13:25:12 +08:00
MarSeventh 4e0c55d1f9 init 2024-07-19 23:26:06 +08:00