You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Elijah Voigt 0aa6a6862e feat(pages): accept gzip/zstd/xz compressed tar uploads
Extend the upload validator to accept .tar.gz/.tgz, .tar.zst, and
.tar.xz archives alongside raw .html and .zip. Upload-kind dispatch is
now magic-byte sniffing (detect_kind) rather than trusting Content-Type,
matching the module's never-trust-the-archive posture.

build_tar_manifest reuses every zip-path structural and size rule
(path-traversal checks, dedup, entry cap, root index.html requirement).
The streaming zip-bomb defense is preserved end-to-end: gzip/zstd decode
lazily as each tar entry is read, and one-shot xz decompresses into a
size-bounded LimitedWriter so a bomb aborts mid-decompress. All decoders
are pure Rust (flate2 rust_backend, ruzstd, lzma-rs) and the tar crate
compiles cleanly for wasm32-unknown-unknown; bzip2 is intentionally out
of scope.

Frontend accept list and Content-Type helper updated; the backend now
sniffs the real format so archives are sent as application/octet-stream.

Beans: pages-w7ow (feature) + pages-r4ob/g39t/wadp/u3zc (tasks).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2 days ago
..
pages-77lk--pages-static-site-host-on-cloudflare-v0.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-adl9--page-content-serving-from-r2.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-g39t--support-targz-tgz-uploads-gzip.md feat(pages): accept gzip/zstd/xz compressed tar uploads 2 days ago
pages-ihlp--opentofu-infra-deployment-docs-project-docs-polish.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-jaqz--embedded-management-ui-staticindexhtml.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-jgc4--d1-schema-and-query-layer.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-kns6--pages-and-users-json-api.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-lxjz--scaffold-worker-crate-hello-world-builds.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-r4ob--upload-dispatch-foundation-magic-byte-sniffing-tar.md feat(pages): accept gzip/zstd/xz compressed tar uploads 2 days ago
pages-saom--core-policy-modules-slug-mime-upload-validation-he.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-shqc--per-page-and-per-user-trust-opt-out-of-csp-sandbox.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago
pages-u3zc--support-tarxz-uploads-xzlzma2.md feat(pages): accept gzip/zstd/xz compressed tar uploads 2 days ago
pages-w7ow--accept-targz-tarzst-tarxz-archive-uploads.md feat(pages): accept gzip/zstd/xz compressed tar uploads 2 days ago
pages-wadp--support-tarzst-uploads-zstd.md feat(pages): accept gzip/zstd/xz compressed tar uploads 2 days ago
pages-ytau--update-a-page-in-place-re-upload-content-put-apipa.md feat(pages): update a page in place via re-upload [pages-ytau] 1 week ago
pages-zd46--github-oauth-sessions-auth-middleware.md feat(pages): static-site host at pages.elijah.run (v0) 1 week ago