mirror of
https://codeberg.org/git-pages/git-pages.git
synced 2026-09-19 23:24:15 +00:00
Allow downloading entire site via CLI or HTTP.
The HTTP endpoint is `/.git-pages/archive.tar` and it is gated behind a feature flag `archive-site`. It serially downloads every blob and writes it to the client in a chunked response, optionally compressed with gzip or zstd as per `Accept-Encoding:`. It is authorized the same as `/.git-pages/manifest.json`, for the same reasons. The CLI operation is `-get-archive <site-name>` and it writes a tar archive to stdout. This could be useful for an administrator to review the contents of a site in response to a report. Both `_headers` and `_redirects` files are present in the output, reconstituted from the manifest.
This commit is contained in: