getMessage(); } } try { $manifest = manageReleaseReadManifest(); $releases = manageReleaseListDescending(); } catch (Throwable $exception) { $manifest = ["latest" => "", "releases" => []]; $releases = []; $errors[] = $exception->getMessage(); } // Server-side upload ceiling, so the form can state the real limit instead of // failing with an empty $_FILES entry. function manageUploadLimitBytes(): int { $toBytes = static function (string $value): int { $value = trim($value); if ($value === "") { return 0; } $unit = strtolower(substr($value, -1)); $number = (int) $value; return match ($unit) { "g" => $number * 1073741824, "m" => $number * 1048576, "k" => $number * 1024, default => $number, }; }; $limits = array_filter([ $toBytes((string) ini_get("upload_max_filesize")), $toBytes((string) ini_get("post_max_size")), ]); return $limits === [] ? 0 : (int) min($limits); } $uploadLimit = manageUploadLimitBytes(); manageRenderHeader("Releases", $messages, $errors); ?>

Aktuelles Release

Paket-Präfix

Upload-Limit

0 ? manageEscape(manageFormatBytes($uploadLimit)) : "unbekannt"; ?>

PHP: upload_max_filesize / post_max_size

Release hochladen

Prüfsumme und Größe werden serverseitig berechnet. Ein Upload setzt das Release automatisch als aktuell.

Veröffentlichte Releases

Noch keine Releases vorhanden. Paket mit scripts/create-release-zip.sh bauen und hier hochladen.

$release): ?>
Version Paket SHA-256 Größe Veröffentlicht Aktionen

aktuell