'manifest unavailable'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
}
exit;
}
if ($wantsVersion) {
header('Content-Type: text/plain; charset=utf-8');
if ($manifest && !empty($manifest['latestVersion'])) {
echo $manifest['latestVersion'];
} elseif (is_readable($versionPath)) {
echo trim(file_get_contents($versionPath));
} else {
http_response_code(503);
echo 'unknown';
}
exit;
}
if ($platform && $arch && $format === 'download') {
if ($manifest && !empty($manifest['files'][0]['url'])) {
header('Location: ' . $manifest['files'][0]['url'], true, 302);
} else {
http_response_code(404);
echo 'download not available';
}
exit;
}
function h($value)
{
return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
}
function formatSize($bytes)
{
if (!is_numeric($bytes)) {
return '';
}
$bytes = (float)$bytes;
$units = ['B', 'KB', 'MB', 'GB'];
$i = 0;
while ($bytes >= 1024 && $i < count($units) - 1) {
$bytes /= 1024;
$i++;
}
return number_format($bytes, $i === 0 ? 0 : 2) . ' ' . $units[$i];
}
$latest = $manifest && isset($manifest['latestVersion']) ? $manifest['latestVersion'] : 'unknown';
$published = $manifest && isset($manifest['publishedAt']) ? $manifest['publishedAt'] : '';
$platformLabel = $platform && $arch ? strtoupper($platform) . ' / ' . $arch : '';
$files = $manifest && isset($manifest['files']) && is_array($manifest['files']) ? $manifest['files'] : [];
$rows = [];
if (!$platform && !$arch) {
foreach ($allManifests as $entry) {
$file = isset($entry['files'][0]) ? $entry['files'][0] : null;
if (!$file) {
continue;
}
$rows[] = [
'platform' => isset($file['platform']) ? $file['platform'] : '',
'arch' => isset($file['arch']) ? $file['arch'] : '',
'version' => isset($entry['latestVersion']) ? $entry['latestVersion'] : 'unknown',
'size' => isset($file['size']) ? $file['size'] : '',
'url' => isset($file['url']) ? $file['url'] : '',
'filename' => isset($file['filename']) ? $file['filename'] : '',
];
}
usort($rows, function ($a, $b) {
$ka = $a['platform'] . '/' . $a['arch'] . '/' . $a['version'];
$kb = $b['platform'] . '/' . $b['arch'] . '/' . $b['version'];
return strcmp($ka, $kb);
});
}
?>
Alchementary Link Downloads
Alchementary Link Downloads
Latest version:
Release files
No release files available.
| Platform |
CPU |
Version |
Size |
Download |
|
|
|
|
Download
|
No release files available.
| Platform |
Arch |
File |
Size |
SHA-256 |
|
|
|
|
|