Skip to content

Allow uploading and storing cracker binaries on the server - #2469

Draft
s3inlc wants to merge 11 commits into
masterfrom
886-stack-1-upload-binary
Draft

Allow uploading and storing cracker binaries on the server#2469
s3inlc wants to merge 11 commits into
masterfrom
886-stack-1-upload-binary

Conversation

@s3inlc

@s3inlc s3inlc commented Sep 3, 2026

Copy link
Copy Markdown
Member

Cracker binaries can now be stored on the server itself instead of only referencing an external download URL. Existing URL-based binaries are fully unaffected.

Upload (apiv2)

  • POST /api/v2/ui/crackers accepts an alternative to downloadUrl: sourceType/sourceData with three sources:
    • import: consume an archive uploaded through the existing chunked (TUS) upload to the import directory — the path for arbitrarily large archives, no PHP request-size limits involved
    • url: the server fetches the archive itself (http/https only)
    • inline: base64 archive data for small uploads
  • Only .7z archives are accepted (7z magic-byte validation); the archive filename is server-composed ({crackerType}-{version}.7z), and the downloadUrl is set automatically to the server's download endpoint — no client-supplied filenames or URLs
  • New nullable filename column on CrackerBinary doubles as the local-storage flag (NULL = external URL binary, as before)

Download

  • New generic endpoint GET /api/download.php/{kind}/{id} (kind registry, extensible to files/hashlists later) — authenticated with either an agent token (?token=) or an apiv2 Bearer JWT; streams with HTTP Range and ETag support
  • Agents require zero changes: the downloadBinary action appends the requesting agent's token to the URL of locally hosted binaries, so the existing fetch-and-extract flow just works
  • Deleting a binary (or a whole cracker type) also removes its stored archive; the downloadUrl of local binaries is server-owned and cannot be patched

@s3inlc s3inlc changed the title Introducing cracker binaries folder Allow uploading and storing cracker binaries on the server Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant