Use these steps:


| Method | Endpoint | Description | Request Headers | Query Parameters | Success Response | |--------|----------|-------------|-----------------|------------------|------------------| | GET | /api/v1/emu/dll | Retrieve the binary for a specific version. | Accept: application/octet-stream
X-Client-Id: <GUID>
Authorization: Bearer <token> (optional) | version=stable|beta|<semver> | 200 OK + binary stream; Content‑Disposition: attachment; filename="orange_emu_64.dll" | | GET | /api/v1/emu/dll/metadata | Returns JSON with available versions, hashes, changelogs. | Accept: application/json | none | 200 OK + JSON payload |

Example JSON Metadata Payload


  "latestStable": 
    "version": "2.3.1",
    "buildDate": "2026-03-15T08:12:00Z",
    "sha256": "a1b2c3d4e5f6…",
    "pgpSignature": "-----BEGIN PGP SIGNATURE-----\n...\n-----END PGP SIGNATURE-----",
    "changelogUrl": "https://cdn.orangeemu.com/changelog/2.3.1.html"
  ,
  "stableReleases": [
"version": "2.3.0",
      "buildDate": "2026-01-22T13:45:00Z",
      "sha256": "c3d4e5f6a1b2…"
// …
  ],
  "betaReleases": [
"version": "2.4.0‑beta1",
      "buildDate": "2026-04-01T09:30:00Z",
      "sha256": "f6a1b2c3d4e5…"
]

Rate Limiting – 20 requests per minute per IP (configurable via rate-limit.yaml).

Security – All traffic enforced over TLS 1.2+; Strict-Transport-Security header set to 365 days.


| Goal | Description | |------|-------------| | G1 – Easy Access | Provide a single, discoverable UI entry‑point that lets users download the latest stable orange_emu_64.dll (the 64‑bit dynamic‑link library for the Orange Emu emulator). | | G2 – Safety | Ensure the binary is delivered over a secure channel, integrity‑checked, and scanned for malware before it reaches the client. | | G3 – Version Transparency | Show the exact version, build date, and changelog for every downloadable package. | | G4 – Compatibility | Verify that the DLL is compatible with the host OS (Windows 10/11, 64‑bit) and the installed version of the Orange Emu front‑end. | | G5 – Automation Friendly | Expose a REST API that CI/CD pipelines or scripts can call to fetch the DLL without manual interaction. | | G6 – Auditable | Log every download request (user, IP, timestamp, version) for compliance and troubleshooting. |


| Table / Collection | Fields | Type | Description | |--------------------|--------|------|-------------| | dll_versions | version | string (semver) | Primary key. | | | build_date | datetime (UTC) | When the DLL was produced. | | | sha256 | string (64‑char hex) | Integrity hash. | | | pgp_sig | text | ASCII‑armored signature. | | | status | enum stable, beta, deprecated | Release channel. | | | download_url | string (HTTPS) | CDN location. | | | changelog_url | string (HTTPS) | Link to HTML changelog. |