gchq / gchq/CyberChef

Feature request: Build process that does not create a local .zip, and instead links to GitHub

Open
#1,747 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
JavaScript
Stars
35.8k
Forks
4.1k
Avg merge
2d 26m
Merged PRs (30d)
33

Description

**Is your feature request related to a problem? Please describe.**

I like running a self-hosted CyberChef instance, but have no need to publish the .zip file as part of it.

Additionally, some cloud-native build and hosting systems, such as Cloudflage Pages, will not allow publishing of files larger than ~26mb and the current standalone .zip file created as part of the build is ~42mb or larger.

**Describe the solution you'd like**

I would like the "Download CyberChef" page to not have the SHA256 hash displayed (optionally display "Refer to GitHub release", and not have a local .zip file link, and instead link to the release version on GitHub, e.g. https://github.com/gchq/CyberChef/releases/download/v10.8.2/CyberChef_v10.8.2.zip

I would like a variant of the `npx grunt prod` build process added that does NOT do two things:
1. Create a local .zip of the build
2. Calculate hash of local .zip of the build

And instead:
1. exec a sed command to insert a link to the GitHub release in build/prod/index.html
2. exec a sed command to remove the SHA256

  • tag, or inserts "Refer to GitHub" release in context, in build/prod/index.html

    **Describe alternatives you've considered**

    Running a modified fork and branch. It'll be a little more painful to keep in sync...

    **Additional context**

    Example from fork and PR that I'll send shortly.

    ![cyberchef](https://github.com/gchq/CyberChef/assets/3059577/b3ab9e3e-53f3-4191-b9e9-2b2a5d711175)

    Contributor guide

    Open the contributing guide

    Research direction

    Read the build path behind `npx grunt prod` and inspect the generated `build/prod/index.html`; compare the existing zip and SHA256 steps with the requested GitHub release URL and hash presentation. Done means a separate production variant generates the release link, omits or replaces the local hash, and does not create the local zip; verify the generated page and build artifacts.

    Written by the indexing model from the issue text.

    Assessment

    Tech stack
    github, javascript, shell
    Domain
    build-system, release
    Issue type
    Feature
    Difficulty
    4/5
    Estimated time
    3-5 days
    Activity status
    Stale
    Clarity
    Mostly clear
    Newbie friendliness
    35/100

    Get new issues in your inbox

    A short digest of beginner-friendly GitHub issues.