|
| 1 | +# Desktop Download CDN |
| 2 | + |
| 3 | +A CDN service for managing and serving desktop application downloads. |
| 4 | + |
| 5 | +## Available Routes |
| 6 | + |
| 7 | +### Universal Route |
| 8 | + |
| 9 | +- `/` |
| 10 | + |
| 11 | +This route will serve the latest version of the application and use the user agent to determine the platform and architecture. |
| 12 | +NOTE: it's not possible to determine the architecture from the user agent on macOS, so it will default to `x64` if a universal installer is not available. |
| 13 | + |
| 14 | +### Latest Version Routes |
| 15 | + |
| 16 | +- `/:platform/:artifactName/:arch` |
| 17 | +- `/:platform/:artifactName` |
| 18 | +- `/:platform` |
| 19 | + |
| 20 | +These routes will serve the latest version of the application. The parameters are the same as above, but they will always return the most recent release. |
| 21 | + |
| 22 | +### Version-based Routes |
| 23 | + |
| 24 | +- `/versions/:appVersion/:platform/:artifactName/:arch` |
| 25 | +- `/versions/:appVersion/:platform/:artifactName` |
| 26 | +- `/versions/:appVersion/:platform` |
| 27 | +- `/versions/:appVersion` |
| 28 | + |
| 29 | +These routes allow downloading specific versions of the application. The parameters are: |
| 30 | + |
| 31 | +- `appVersion`: The version number of the application (e.g., "1.2.3") |
| 32 | +- `platform`: The operating system (e.g., "windows", "mac", "linux") |
| 33 | +- `artifactName`: The name of the artifact to download (e.g., "nsis", "dmg", "appimage") |
| 34 | +- `arch`: (Optional) The CPU architecture (e.g., "x64", "arm64") |
| 35 | + |
| 36 | +### Build-based Routes |
| 37 | + |
| 38 | +- `/builds/:buildId/:platform/:artifactName/:arch` |
| 39 | +- `/builds/:buildId/:platform/:artifactName` |
| 40 | +- `/builds/:buildId/:platform` |
| 41 | +- `/builds/:buildId` |
| 42 | + |
| 43 | +These routes allow downloading specific builds of the application. The parameters are: |
| 44 | + |
| 45 | +- `buildId`: The unique identifier for the build |
| 46 | +- Other parameters are the same as version-based routes |
| 47 | + |
| 48 | +## Examples |
| 49 | + |
| 50 | +### Download the latest Windows installer |
| 51 | + |
| 52 | +`/windows` |
| 53 | + |
| 54 | +### Download version 1.2.3 for Mac ARM |
| 55 | + |
| 56 | +`/versions/1.2.3/mac/arm64` |
| 57 | + |
| 58 | +### Download a specific build for Linux |
| 59 | + |
| 60 | +`/builds/12345/linux/appimage/x64` |
0 commit comments