gchq / gchq/CyberChef

Feature request: Multiple files improvement - Select what input is being processed/used for a step

Open
#1,738 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.**
A clear and concise description of what the problem is. E.g. I'm always frustrated when [...]

I think the best way to explain this, is to compare it to something - in Word you're able to define a template and produce multiple version by combining it with data from example an Excel file.

This feature request is about the same, sort of, you can currently define multiple inputs, but each input goes fully through the recipe - what I want to request is the ability to use inputs for different parts in the recipe, for example, InputA is a file in which you want to replace a certain string with another - the string it needs to be replaced with will be put into InputB as a list of replacers - so in the end you'll end up with multiple outputs, one for each line in InputB

**Describe the solution you'd like**
A clear and concise description of what you want to happen.
The option to select which input to use per recipe step, maybe allow multiple recipes - as to process a second file to further process the main file - this woud allow combining multiple inputs, to produce multiple outputs.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

Re-doing the same recipe by manually changing the parameter for replacement or whatever needs to be changed each cycle - gets really cumbersome if you have to do it a lot.
Second thing I've considered is using the NodeJs API but this makes it really hard to share with others, especially ones with no coding experience

**Additional context**
Add any other context or screenshots about the feature request here.

Samples of inputs, corresponding to above:
INPUTA:
```HTML


Hello World!


```
INPUTB:
```TXT
Earth
Mars
Jupiter
```
RECIPE:
INPUTA: https://gchq.github.io/CyberChef/#recipe=Find_/_Replace(%7B'option':'Regex','string':'World'%7D,'%7BINPUT:2%7D',true,false,true,false)&input=PHA%2BCiAgSGVsbG8gV29ybGQhCjwvcD4
INPUTB: https://gchq.github.io/CyberChef/#recipe=Find_/_Replace(%7B'option':'Regex','string':'World'%7D,'%7BINPUT:2%7D',true,false,true,false)&input=RWFydGgKTWFycwpKdXBpdGVy

Expected results (multiple files):
```HTML


Hello Earth!


-------------------------


Hello Mars!


-------------------------


Hello Jupiter!


```

Contributor guide

Open the contributing guide

Research direction

The issue does not name files, tests, or entry points. Start by tracing how CyberChef currently handles multiple inputs through a recipe, then compare the behavior with the INPUTA, INPUTB, and expected multiple-output examples; done means selected inputs can be used by different recipe steps to produce one output per replacement value.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.