1.6 KiB
1.6 KiB
Download Mirror Storage Layout
This document describes the directory layout and metadata files required for the ui/dl static download portal.
Root Objects
The root of the object storage bucket must contain:
manifest.json– lists all top-level buckets shown on the homepage.- one subdirectory per bucket (e.g.
deb/,xray-core/).
Example manifest.json:
{
"generated_at": "2025-09-13T12:00:00Z",
"roots": [
{
"name": "xray-core",
"href": "/xray-core/",
"updated_at": "2025-09-01T10:36:00Z",
"item_count": 7,
"summary": "Xray-core offline bundles"
}
]
}
Bucket Contents
Each bucket directory must include:
dir.json– metadata for the bucket or subdirectory.- optional
tldr.md– short usage snippet rendered on the right panel. - optional
README.md– detailed documentation. - artifact files, checksums, SBOMs, etc.
Example dir.json:
{
"path": "/xray-core/",
"updated_at": "2025-09-01T10:36:00Z",
"tldr": "/xray-core/tldr.md",
"readme": "/xray-core/README.md",
"items": [
{
"name": "xray-core-offline-amd64-1.8.7.tar.gz",
"size": 148723441,
"updated_at": "2025-09-01T10:36:00Z",
"href": "/xray-core/xray-core-offline-amd64-1.8.7.tar.gz",
"sha256": "/xray-core/sha256sum.txt"
}
]
}
Each items entry corresponds to a file or subdirectory. If sha256 is present, the UI exposes a copyable verification command.
Deployment
After running next build && next export inside ui/dl, upload the out/ directory to the root of the object storage bucket alongside manifest.json and the per-bucket directories.