accounts/docs/dl-mirror.md
2025-09-14 10:48:11 +08:00

1.6 KiB
Raw Blame History

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.