Commit Graph
896 Commits
Author SHA1 Message Date
叁月柒andGitHub df67792620 Merge pull request #576 from outlook84/pr
feat: add HuggingFace multipart upload completion proxy
2026-06-02 14:55:26 +08:00
outlook84 5c101ff052 fix: improve error handling for multipart completion target and validation 2026-06-02 14:49:15 +08:00
outlook84 6a4dcc0e26 fix: update required fields check and normalize file type handling 2026-06-02 13:33:59 +08:00
outlook84 787fd5966c feat: add completeMultipart API for handling multipart uploads 2026-06-02 13:15:17 +08:00
MarSeventh b6ea73f466 chore: update special sponsor in readme 2026-06-01 21:18:11 +08:00
MarSeventh 34167e28fe chore: fix a colon mistake in readme 2026-06-01 21:15:10 +08:00
MarSeventh 92fbd0260e fix: keep HuggingFace ranges unchanged 2026-05-30 18:04:18 +08:00
MarSeventh 399e3d35a7 fix: limit HuggingFace open-ended ranges 2026-05-30 17:46:20 +08:00
MarSeventh ef9c14163b revert: undo HuggingFace range streaming changes 2026-05-30 17:25:21 +08:00
MarSeventh 8c083db63a fix: stabilize HuggingFace range responses 2026-05-30 17:17:18 +08:00
MarSeventh 4ebe607f6a fix: improve HuggingFace range streaming 2026-05-30 16:44:59 +08:00
MarSeventh f81826dbf1 bump version to v2.7.3 2026-05-25 15:43:02 +08:00
MarSeventh f13424bae7 feat: Dashboard file rename dialog now supports confirming with Enter 2026-05-25 15:32:51 +08:00
MarSeventh a27405a237 feat: add upload trending in status page 2026-05-25 13:05:05 +08:00
MarSeventh 84246a2210 feat: add upload trend stats 2026-05-25 12:50:04 +08:00
叁月柒andGitHub 587b24d90b Add Contributor Covenant Code of Conduct
chore: add CODE_OF_CONDUCT.md
2026-05-22 21:22:18 +08:00
MarSeventh 22e7e64610 readme: add G-Star badge 2026-05-22 14:40:52 +08:00
MarSeventh 459d32cb5a readme: add G-Star badge 2026-05-22 14:38:54 +08:00
MarSeventh 36d38f7ba4 readme: add hellogithub badge 2026-05-09 17:18:27 +08:00
MarSeventh 33daaef77d readme: add hellogithub badge 2026-05-09 17:17:07 +08:00
MarSeventh cedf224b14 readme: add hellogithub badge 2026-05-09 17:15:13 +08:00
MarSeventh c91f778d44 readme: add hellogithub badge 2026-05-09 17:13:27 +08:00
MarSeventh 3a6fc7f9fe readme: add hellogithub badge 2026-05-09 17:08:33 +08:00
MarSeventh fa4be36ebf fix: wrap Docker server responses with native Response 2026-05-06 16:41:16 +08:00
MarSeventh 0ba1b63c9d fix: PROPFIND file size fallback for old files and use real upload timestamp
- File size: prefer FileSizeBytes, fall back to FileSize (MB) * 1024^2
  for files uploaded before FileSizeBytes was added
- Timestamps: use TimeStamp from metadata instead of current time,
  so clients show the actual upload date, not the PROPFIND request time
2026-05-01 20:53:21 +08:00
MarSeventh 476827c009 fix: add getcontenttype to PROPFIND response for file preview in Alist
Read FileType from metadata to populate D:getcontenttype (e.g.
image/jpeg), enabling WebDAV clients like Alist to identify file
types and show image previews.
2026-05-01 20:41:19 +08:00
MarSeventh c2e4de5b8c fix: PROPFIND returns correct file size and href for WebDAV clients
- Read FileSizeBytes instead of non-existent File-Size metadata field,
  so getcontentlength reports actual bytes instead of always 0
- Add /dav prefix to file href so WebDAV clients can GET files at the
  correct path

Fixes files showing as 0B and being unopenable in RaiDrive, Cyberduck,
and Windows mapped drives.
2026-05-01 20:36:07 +08:00
MarSeventh 18b2db1224 fix: WebDAV internal calls use dedicated API Token for authentication
- Add 'internal' token type to API Token system, hidden from the
  security settings token list
- When WebDAV is enabled, auto-create an internal API Token with
  list/upload/delete permissions, stored in WebDAV config
- When WebDAV is disabled, auto-delete the internal token
- WebDAV handler reads the internal token from config and sends it
  as Bearer auth; if missing, creates one on-the-fly as fallback
- Works across both Docker and Cloudflare deployments since the
  token is persisted in KV/D1, not in process memory
2026-05-01 20:27:37 +08:00
MarSeventh bab238a6dc fix: catch-all [[path]].js route matching off-by-one for root paths
The loop in findFunctionFile started from parts.length - 1, which
skipped the directory-level [[path]].js match when the request path
had exactly one segment (e.g. /dav/, /file/). Changed to start from
parts.length so these root paths correctly resolve to their handlers.

Fixes /dav/ returning 404 and /file/ similarly affected.
2026-05-01 19:24:57 +08:00
MarSeventh 99a8f8d9c5 fix: reduce customer config list load
Return only customer summaries from the list endpoint and lazy-load per-IP files to avoid sending full upload records on every page load.
2026-04-29 16:53:58 +08:00
MarSeventh 7b1211d181 readme: uniform sponsor name 2026-04-29 16:16:23 +08:00
MarSeventh 7823315b44 fix: reduce manage mutation response payloads 2026-04-29 16:04:36 +08:00
MarSeventh 8a479f75ca fix: prevent cached manage API mutations 2026-04-29 15:59:03 +08:00
MarSeventh 6cec90176b fix: require admin auth for file preview
Treat from=admin as an admin preview marker that requires validated admin credentials, and keep admin preview responses privately cached.
2026-04-29 15:18:31 +08:00
MarSeventh 7d01d04547 fix: skip records without timestamps in batch list 2026-04-28 23:25:22 +08:00
MarSeventh 2dbc1ea232 refactor: simplify saving logic of upload config in sysCog API 2026-04-28 21:30:37 +08:00
MarSeventh 36f886b1d7 readme: add more support channels 2026-04-28 20:57:03 +08:00
MarSeventh 9004ed86cb readme: add more support channels 2026-04-28 20:47:38 +08:00
MarSeventh 30dad1f599 readme: add more support channels 2026-04-28 20:38:52 +08:00
MarSeventh 495a0d1b81 readme: add more support channels 2026-04-28 20:35:14 +08:00
MarSeventh c7a0370928 readme: add more support channels 2026-04-28 20:33:29 +08:00
MarSeventh ab3b55567c readme: add more support channels 2026-04-28 20:26:01 +08:00
MarSeventh e5a38f2b6d test: remove webdav test files 2026-04-28 17:56:53 +08:00
MarSeventh 392ef53409 refactor: move storage api utils into subdirectory 2026-04-28 17:54:43 +08:00
MarSeventh 8290321dd6 fix: disappeared custom header setting for webdav channel 2026-04-28 17:47:44 +08:00
MarSeventh ba4081b288 bump version to v2.7.2 2026-04-28 17:06:46 +08:00
MarSeventh 9d84a0b34a fix: migrate session storage to manage@ prefix and fix D1 adapter routing
- Change SESSION_PREFIX from 'session@' to 'manage@session@' to prevent
  sessions from appearing in file index and backups
- Add KV expirationTtl for automatic session cleanup on expiry
- Fix D1 adapter: route all manage@ keys to settings table instead of
  files table (fixes blockipList and session storage in wrong table)
- Fix D1 list({ prefix: 'manage@' }) not matching settings table
  (fixes backup not containing settings data)
- Exclude manage@session@ keys from settings backup export
2026-04-28 17:04:41 +08:00
MarSeventh 062a71213d feat: add webdav upload channel 2026-04-28 16:38:12 +08:00
叁月柒andGitHub 633dbe77e9 Merge pull request #536 from htazq/feature/webdav-storage-channel
Enable third-party WebDAV storage without new runtime dependencies
2026-04-28 16:31:37 +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