diff --git a/src/core/config/OperationConfig.json b/src/core/config/OperationConfig.json
new file mode 100644
index 000000000..dc18c9462
--- /dev/null
+++ b/src/core/config/OperationConfig.json
@@ -0,0 +1,21713 @@
+{
+ "A1Z26 Cipher Decode": {
+ "module": "Ciphers",
+ "description": "Converts alphabet order numbers into their corresponding alphabet character.
e.g. 1 becomes a and 2 becomes b.",
+ "infoURL": "",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^\\s*([12]?[0-9] )+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "Space"
+ ]
+ },
+ {
+ "pattern": "^\\s*([12]?[0-9],)+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "Comma"
+ ]
+ },
+ {
+ "pattern": "^\\s*([12]?[0-9];)+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "Semi-colon"
+ ]
+ },
+ {
+ "pattern": "^\\s*([12]?[0-9]:)+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "Colon"
+ ]
+ },
+ {
+ "pattern": "^\\s*([12]?[0-9]\\n)+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "Line feed"
+ ]
+ },
+ {
+ "pattern": "^\\s*([12]?[0-9]\\r\\n)+[12]?[0-9]\\s*$",
+ "flags": "",
+ "args": [
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "A1Z26 Cipher Encode": {
+ "module": "Ciphers",
+ "description": "Converts alphabet characters into their corresponding alphabet order number.
e.g. a becomes 1 and b becomes 2.
Non-alphabet characters are dropped.",
+ "infoURL": "",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "ADD": {
+ "module": "Default",
+ "description": "ADD the input with the given key (e.g. fe023da5), MOD 255",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#Bitwise_operators",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "Decimal",
+ "Binary",
+ "Base64",
+ "UTF8",
+ "Latin1"
+ ]
+ }
+ ]
+ },
+ "AES Decrypt": {
+ "module": "Ciphers",
+ "description": "Advanced Encryption Standard (AES) is a U.S. Federal Information Processing Standard (FIPS). It was selected after a 5-year process where 15 competing designs were evaluated.
Key: The following algorithms will be used based on the size of the key:
fe023da5",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#AND",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "Decimal",
+ "Binary",
+ "Base64",
+ "UTF8",
+ "Latin1"
+ ]
+ }
+ ]
+ },
+ "Add line numbers": {
+ "module": "Default",
+ "description": "Adds line numbers to the output.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Offset",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Add Text To Image": {
+ "module": "Image",
+ "description": "Adds text onto an image.(ax + b) % 26, and converted back to a letter.",
+ "infoURL": "https://wikipedia.org/wiki/Affine_cipher",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "a",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "b",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Alternating Caps": {
+ "module": "Default",
+ "description": "Alternating caps, also known as studly caps, sticky caps, or spongecase is a form of text notation in which the capitalization of letters varies by some pattern, or arbitrarily. An example of this would be spelling 'alternative caps' as 'aLtErNaTiNg CaPs'.",
+ "infoURL": "https://en.wikipedia.org/wiki/Alternating_caps",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Analyse hash": {
+ "module": "Crypto",
+ "description": "Tries to determine information about a given hash and suggests which algorithm may have been used to generate it based on its length.",
+ "infoURL": "https://wikipedia.org/wiki/Comparison_of_cryptographic_hash_functions",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Analyse UUID": {
+ "module": "Crypto",
+ "description": "Tries to determine information about a given UUID and suggests which version may have been used to generate it",
+ "infoURL": "https://wikipedia.org/wiki/Universally_unique_identifier",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Argon2": {
+ "module": "Crypto",
+ "description": "Argon2 is a key derivation function that was selected as the winner of the Password Hashing Competition in July 2015. It was designed by Alex Biryukov, Daniel Dinu, and Dmitry Khovratovich from the University of Luxembourg.EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe becomes hi",
+ "infoURL": "https://hitchhikers.fandom.com/wiki/Dolphins",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^(?:[eE]{16,})(?: [eE]{16,})*$",
+ "flags": "",
+ "args": []
+ }
+ ]
+ },
+ "Cetacean Cipher Encode": {
+ "module": "Ciphers",
+ "description": "Converts any input into Cetacean Cipher. hi becomes EEEEEEEEEeeEeEEEEEEEEEEEEeeEeEEe",
+ "infoURL": "https://hitchhikers.fandom.com/wiki/Dolphins",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "ChaCha": {
+ "module": "Ciphers",
+ "description": "ChaCha is a stream cipher designed by Daniel J. Bernstein. It is a variant of the Salsa stream cipher. Several parameterizations exist; 'ChaCha' may refer to the original construction, or to the variant as described in RFC-8439. ChaCha is often used with Poly1305, in the ChaCha20-Poly1305 AEAD construction.172.20.23.54 to ac141736",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Dotted Decimal",
+ "Decimal",
+ "Octal",
+ "Hex"
+ ]
+ },
+ {
+ "name": "Output format",
+ "type": "option",
+ "value": [
+ "Dotted Decimal",
+ "Decimal",
+ "Octal",
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "Chi Square": {
+ "module": "Default",
+ "description": "Calculates the Chi Square distribution of values.",
+ "infoURL": "https://wikipedia.org/wiki/Chi-squared_distribution",
+ "inputType": "ArrayBuffer",
+ "outputType": "number",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "CipherSaber2 Decrypt": {
+ "module": "Crypto",
+ "description": "CipherSaber is a simple symmetric encryption protocol based on the RC4 stream cipher. It gives reasonably strong protection of message confidentiality, yet it's designed to be simple enough that even novice programmers can memorize the algorithm and implement it from scratch.",
+ "infoURL": "https://wikipedia.org/wiki/CipherSaber",
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 20
+ }
+ ]
+ },
+ "CipherSaber2 Encrypt": {
+ "module": "Crypto",
+ "description": "CipherSaber is a simple symmetric encryption protocol based on the RC4 stream cipher. It gives reasonably strong protection of message confidentiality, yet it's designed to be simple enough that even novice programmers can memorize the algorithm and implement it from scratch.",
+ "infoURL": "https://wikipedia.org/wiki/CipherSaber",
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 20
+ }
+ ]
+ },
+ "Citrix CTX1 Decode": {
+ "module": "Encodings",
+ "description": "Decodes strings in a Citrix CTX1 password format to plaintext.",
+ "infoURL": "https://www.reddit.com/r/AskNetsec/comments/1s3r6y/citrix_ctx1_hash_decoding/",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Citrix CTX1 Encode": {
+ "module": "Encodings",
+ "description": "Encodes strings to Citrix CTX1 password format.",
+ "infoURL": "https://www.reddit.com/r/AskNetsec/comments/1s3r6y/citrix_ctx1_hash_decoding/",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Colossus": {
+ "module": "Bletchley",
+ "description": "Colossus is the name of the world's first electronic computer. Ten Colossi were designed by Tommy Flowers and built at the Post Office Research Labs at Dollis Hill in 1943 during World War 2. They assisted with the breaking of the German Lorenz cipher attachment, a machine created to encipher communications between Hitler and his generals on the front lines.name and type.",
+ "infoURL": "https://wikipedia.org/wiki/DNS_over_HTTPS",
+ "inputType": "string",
+ "outputType": "JSON",
+ "flowControl": false,
+ "manualBake": true,
+ "args": [
+ {
+ "name": "Resolver",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Google",
+ "value": "https://dns.google.com/resolve"
+ },
+ {
+ "name": "Cloudflare",
+ "value": "https://cloudflare-dns.com/dns-query"
+ }
+ ]
+ },
+ {
+ "name": "Request Type",
+ "type": "option",
+ "value": [
+ "A",
+ "AAAA",
+ "ANAME",
+ "CERT",
+ "CNAME",
+ "DNSKEY",
+ "HTTPS",
+ "IPSECKEY",
+ "LOC",
+ "MX",
+ "NS",
+ "OPENPGPKEY",
+ "PTR",
+ "RRSIG",
+ "SIG",
+ "SOA",
+ "SPF",
+ "SRV",
+ "SSHFP",
+ "TA",
+ "TXT",
+ "URI",
+ "ANY"
+ ]
+ },
+ {
+ "name": "Answer Data Only",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Disable DNSSEC validation",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "DateTime Delta": {
+ "module": "Default",
+ "description": "Calculates a new DateTime value given an input DateTime value and a time difference (delta) from the input DateTime value.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Built in formats",
+ "type": "populateOption",
+ "value": [
+ {
+ "name": "Standard date and time",
+ "value": "DD/MM/YYYY HH:mm:ss"
+ },
+ {
+ "name": "American-style date and time",
+ "value": "MM/DD/YYYY HH:mm:ss"
+ },
+ {
+ "name": "International date and time",
+ "value": "YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "name": "Verbose date and time",
+ "value": "dddd Do MMMM YYYY HH:mm:ss Z z"
+ },
+ {
+ "name": "UNIX timestamp (seconds)",
+ "value": "X"
+ },
+ {
+ "name": "UNIX timestamp offset (milliseconds)",
+ "value": "x"
+ },
+ {
+ "name": "Automatic",
+ "value": ""
+ }
+ ],
+ "target": 1
+ },
+ {
+ "name": "Input format string",
+ "type": "binaryString",
+ "value": "DD/MM/YYYY HH:mm:ss"
+ },
+ {
+ "name": "Time Operation",
+ "type": "option",
+ "value": [
+ "Add",
+ "Subtract"
+ ]
+ },
+ {
+ "name": "Days",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Hours",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Minutes",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Seconds",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Dechunk HTTP response": {
+ "module": "Default",
+ "description": "Parses an HTTP response transferred using Transfer-Encoding: Chunked",
+ "infoURL": "https://wikipedia.org/wiki/Chunked_transfer_encoding",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^[0-9A-F]+\r\n",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "Decode NetBIOS Name": {
+ "module": "Default",
+ "description": "NetBIOS names as seen across the client interface to NetBIOS are exactly 16 bytes long. Within the NetBIOS-over-TCP protocols, a longer representation is used.0x0a 8 .5 becomes 2.5",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "BigNumber",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "Drop bytes": {
+ "module": "Default",
+ "description": "Cuts a slice of the specified number of bytes out of the data. Negative values are allowed.",
+ "infoURL": null,
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Start",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Length",
+ "type": "number",
+ "value": 5
+ },
+ {
+ "name": "Apply to each line",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Drop nth bytes": {
+ "module": "Default",
+ "description": "Drops every nth byte starting with a given byte.",
+ "infoURL": "",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Drop every",
+ "type": "number",
+ "value": 4
+ },
+ {
+ "name": "Starting at",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Apply to each line",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "ECDSA Sign": {
+ "module": "Ciphers",
+ "description": "Sign a plaintext message with a PEM encoded EC key.",
+ "infoURL": "https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "ECDSA Private Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN EC PRIVATE KEY-----"
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-256",
+ "SHA-384",
+ "SHA-512",
+ "SHA-1",
+ "MD5"
+ ]
+ },
+ {
+ "name": "Output Format",
+ "type": "option",
+ "value": [
+ "ASN.1 HEX",
+ "P1363 HEX",
+ "JSON Web Signature",
+ "Raw JSON"
+ ]
+ }
+ ]
+ },
+ "ECDSA Signature Conversion": {
+ "module": "Ciphers",
+ "description": "Convert an ECDSA signature between hex, asn1 and json.",
+ "infoURL": "https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input Format",
+ "type": "option",
+ "value": [
+ "Auto",
+ "ASN.1 HEX",
+ "P1363 HEX",
+ "JSON Web Signature",
+ "Raw JSON"
+ ]
+ },
+ {
+ "name": "Output Format",
+ "type": "option",
+ "value": [
+ "ASN.1 HEX",
+ "P1363 HEX",
+ "JSON Web Signature",
+ "Raw JSON"
+ ]
+ }
+ ]
+ },
+ "ECDSA Verify": {
+ "module": "Ciphers",
+ "description": "Verify a message against a signature and a public PEM encoded EC key.",
+ "infoURL": "https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input Format",
+ "type": "option",
+ "value": [
+ "Auto",
+ "ASN.1 HEX",
+ "P1363 HEX",
+ "JSON Web Signature",
+ "Raw JSON"
+ ]
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-256",
+ "SHA-384",
+ "SHA-512",
+ "SHA-1",
+ "MD5"
+ ]
+ },
+ {
+ "name": "ECDSA Public Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN PUBLIC KEY-----"
+ },
+ {
+ "name": "Message",
+ "type": "text",
+ "value": ""
+ },
+ {
+ "name": "Message format",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex",
+ "Base64"
+ ]
+ }
+ ]
+ },
+ "ELF Info": {
+ "module": "Default",
+ "description": "Implements readelf-like functionality. This operation will extract the ELF Header, Program Headers, Section Headers and Symbol Table for an ELF file.",
+ "infoURL": "https://www.wikipedia.org/wiki/Executable_and_Linkable_Format",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Encode NetBIOS Name": {
+ "module": "Default",
+ "description": "NetBIOS names as seen across the client interface to NetBIOS are exactly 16 bytes long. Within the NetBIOS-over-TCP protocols, a longer representation is used.AB CD EF connects A to B, C to D, and E to F. This is also used to create your own reflectors. To create your own rotor, enter the letters that the rotor maps A to Z to, in order, optionally followed by < then a list of stepping points.Don\\'t stop me now.\\n (Line feed/newline)\\r (Carriage return)\\t (Horizontal tab)\\b (Backspace)\\f (Form feed)\\xnn (Hex, where n is 0-f)\\\\ (Backslash)\\' (Single quote)\\" (Double quote)\\unnnn (Unicode character)\\u{nnnnnn} (Unicode code point)\\u%uU+σου becomes \\u03C3\\u03BF\\u03C5",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Prefix",
+ "type": "option",
+ "value": [
+ "\\u",
+ "%u",
+ "U+"
+ ]
+ },
+ {
+ "name": "Encode all chars",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Padding",
+ "type": "number",
+ "value": 4
+ },
+ {
+ "name": "Uppercase hex",
+ "type": "boolean",
+ "value": true
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "\\\\u(?:[\\da-f]{4,6})",
+ "flags": "i",
+ "args": [
+ "\\u"
+ ]
+ },
+ {
+ "pattern": "%u(?:[\\da-f]{4,6})",
+ "flags": "i",
+ "args": [
+ "%u"
+ ]
+ },
+ {
+ "pattern": "U\\+(?:[\\da-f]{4,6})",
+ "flags": "i",
+ "args": [
+ "U+"
+ ]
+ }
+ ]
+ },
+ "Expand alphabet range": {
+ "module": "Default",
+ "description": "Expand an alphabet range string into a list of the characters in that range.a-z becomes abcdefghijklmnopqrstuvwxyz.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "binaryString",
+ "value": ""
+ }
+ ]
+ },
+ "Extract dates": {
+ "module": "Regex",
+ "description": "Extracts dates in the following formatsyyyy-mm-dddd/mm/yyyymm/dd/yyyy1.2.3.4.5.6.7.8, this will match 1.2.3.4 and 5.6.7.8 so always check the original input!",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "IPv4",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "IPv6",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Remove local IPv4 addresses",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Display total",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Sort",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Unique",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Extract LSB": {
+ "module": "Image",
+ "description": "Extracts the Least Significant Bit data from each pixel in an image. This is a common way to hide data in Steganography.",
+ "infoURL": "https://wikipedia.org/wiki/Bit_numbering#Least_significant_bit_in_digital_steganography",
+ "inputType": "ArrayBuffer",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Colour Pattern #1",
+ "type": "option",
+ "value": [
+ "R",
+ "G",
+ "B",
+ "A"
+ ]
+ },
+ {
+ "name": "Colour Pattern #2",
+ "type": "option",
+ "value": [
+ "",
+ "R",
+ "G",
+ "B",
+ "A"
+ ]
+ },
+ {
+ "name": "Colour Pattern #3",
+ "type": "option",
+ "value": [
+ "",
+ "R",
+ "G",
+ "B",
+ "A"
+ ]
+ },
+ {
+ "name": "Colour Pattern #4",
+ "type": "option",
+ "value": [
+ "",
+ "R",
+ "G",
+ "B",
+ "A"
+ ]
+ },
+ {
+ "name": "Pixel Order",
+ "type": "option",
+ "value": [
+ "Row",
+ "Column"
+ ]
+ },
+ {
+ "name": "Bit",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Extract MAC addresses": {
+ "module": "Regex",
+ "description": "Extracts all Media Access Control (MAC) addresses from the input.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Display total",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Sort",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Unique",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Extract RGBA": {
+ "module": "Image",
+ "description": "Extracts each pixel's RGBA value in an image. These are sometimes used in Steganography to hide text or data.",
+ "infoURL": "https://wikipedia.org/wiki/RGBA_color_space",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Comma",
+ "value": ","
+ },
+ {
+ "name": "Space",
+ "value": " "
+ },
+ {
+ "name": "CRLF",
+ "value": "\\r\\n"
+ },
+ {
+ "name": "Line Feed",
+ "value": "\n"
+ }
+ ]
+ },
+ {
+ "name": "Include Alpha",
+ "type": "boolean",
+ "value": true
+ }
+ ]
+ },
+ "Extract URLs": {
+ "module": "Regex",
+ "description": "Extracts Uniform Resource Locators (URLs) from the input. The protocol (http, ftp etc.) is required otherwise there will be far too many false positives.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Display total",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Sort",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Unique",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Fang URL": {
+ "module": "Default",
+ "description": "Takes a 'Defanged' Universal Resource Locator (URL) and 'Fangs' it. Meaning, it removes the alterations (defanged) that render it useless so that it can be used again.",
+ "infoURL": "https://isc.sans.edu/forums/diary/Defang+all+the+things/22744/",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Restore [.]",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Restore hxxp",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Restore ://",
+ "type": "boolean",
+ "value": true
+ }
+ ]
+ },
+ "Fernet Decrypt": {
+ "module": "Default",
+ "description": "Fernet is a symmetric encryption method which makes sure that the message encrypted cannot be manipulated/read without the key. It uses URL safe encoding for the keys. Fernet uses 128-bit AES in CBC mode and PKCS7 padding, with HMAC using SHA256 for authentication. The IV is created from os.random().StV1DL6CwTryKyV becomes hello worldaGVsbG8= becomes hello",
+ "infoURL": "https://wikipedia.org/wiki/Base64",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Alphabet",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Standard (RFC 4648): A-Za-z0-9+/=",
+ "value": "A-Za-z0-9+/="
+ },
+ {
+ "name": "URL safe (RFC 4648 §5): A-Za-z0-9-_",
+ "value": "A-Za-z0-9-_"
+ },
+ {
+ "name": "Filename safe: A-Za-z0-9+-=",
+ "value": "A-Za-z0-9+\\-="
+ },
+ {
+ "name": "itoa64: ./0-9A-Za-z=",
+ "value": "./0-9A-Za-z="
+ },
+ {
+ "name": "XML: A-Za-z0-9_.",
+ "value": "A-Za-z0-9_."
+ },
+ {
+ "name": "y64: A-Za-z0-9._-",
+ "value": "A-Za-z0-9._-"
+ },
+ {
+ "name": "z64: 0-9a-zA-Z+/=",
+ "value": "0-9a-zA-Z+/="
+ },
+ {
+ "name": "Radix-64 (RFC 4880): 0-9A-Za-z+/=",
+ "value": "0-9A-Za-z+/="
+ },
+ {
+ "name": "Uuencoding: [space]-_",
+ "value": " -_"
+ },
+ {
+ "name": "Xxencoding: +-0-9A-Za-z",
+ "value": "+\\-0-9A-Za-z"
+ },
+ {
+ "name": "BinHex: !-,-0-689@A-NP-VX-Z[`a-fh-mp-r",
+ "value": "!-,-0-689@A-NP-VX-Z[`a-fh-mp-r"
+ },
+ {
+ "name": "ROT13: N-ZA-Mn-za-m0-9+/=",
+ "value": "N-ZA-Mn-za-m0-9+/="
+ },
+ {
+ "name": "UNIX crypt: ./0-9A-Za-z",
+ "value": "./0-9A-Za-z"
+ },
+ {
+ "name": "Atom128: /128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC",
+ "value": "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC"
+ },
+ {
+ "name": "Megan35: 3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5",
+ "value": "3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5"
+ },
+ {
+ "name": "Zong22: ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2",
+ "value": "ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2"
+ },
+ {
+ "name": "Hazz15: HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5",
+ "value": "HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5"
+ }
+ ]
+ },
+ {
+ "name": "Remove non-alphabet chars",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Strict mode",
+ "type": "boolean",
+ "value": false
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^\\s*(?:[A-Z\\d+/]{4})+(?:[A-Z\\d+/]{2}==|[A-Z\\d+/]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "A-Za-z0-9+/=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*[A-Z\\d\\-_]{20,}\\s*$",
+ "flags": "i",
+ "args": [
+ "A-Za-z0-9-_",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z\\d+\\-]{4}){5,}(?:[A-Z\\d+\\-]{2}==|[A-Z\\d+\\-]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "A-Za-z0-9+\\-=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z\\d./]{4}){5,}(?:[A-Z\\d./]{2}==|[A-Z\\d./]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "./0-9A-Za-z=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*[A-Z\\d_.]{20,}\\s*$",
+ "flags": "i",
+ "args": [
+ "A-Za-z0-9_.",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z\\d._]{4}){5,}(?:[A-Z\\d._]{2}--|[A-Z\\d._]{3}-)?\\s*$",
+ "flags": "i",
+ "args": [
+ "A-Za-z0-9._-",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z\\d+/]{4}){5,}(?:[A-Z\\d+/]{2}==|[A-Z\\d+/]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "0-9a-zA-Z+/=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z\\d+/]{4}){5,}(?:[A-Z\\d+/]{2}==|[A-Z\\d+/]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "0-9A-Za-z+/=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^[ !\"#$%&'()*+,\\-./\\d:;<=>?@A-Z[\\\\\\]^_]{20,}$",
+ "flags": "",
+ "args": [
+ " -_",
+ false,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*[A-Z\\d+\\-]{20,}\\s*$",
+ "flags": "i",
+ "args": [
+ "+\\-0-9A-Za-z",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*[!\"#$%&'()*+,\\-0-689@A-NP-VX-Z[`a-fh-mp-r]{20,}\\s*$",
+ "flags": "",
+ "args": [
+ "!-,-0-689@A-NP-VX-Z[`a-fh-mp-r",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[N-ZA-M\\d+/]{4}){5,}(?:[N-ZA-M\\d+/]{2}==|[N-ZA-M\\d+/]{3}=)?\\s*$",
+ "flags": "i",
+ "args": [
+ "N-ZA-Mn-za-m0-9+/=",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*[A-Z\\d./]{20,}\\s*$",
+ "flags": "i",
+ "args": [
+ "./0-9A-Za-z",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}CC|[A-Z=\\d\\+/]{3}C)?\\s*$",
+ "flags": "i",
+ "args": [
+ "/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}55|[A-Z=\\d\\+/]{3}5)?\\s*$",
+ "flags": "i",
+ "args": [
+ "3GHIJKLMNOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}22|[A-Z=\\d\\+/]{3}2)?\\s*$",
+ "flags": "i",
+ "args": [
+ "ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2",
+ true,
+ false
+ ]
+ },
+ {
+ "pattern": "^\\s*(?:[A-Z=\\d\\+/]{4}){5,}(?:[A-Z=\\d\\+/]{2}55|[A-Z=\\d\\+/]{3}5)?\\s*$",
+ "flags": "i",
+ "args": [
+ "HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5",
+ true,
+ false
+ ]
+ }
+ ]
+ },
+ "From Base85": {
+ "module": "Default",
+ "description": "Base85 (also called Ascii85) is a notation for encoding arbitrary byte data. It is usually more efficient that Base64.BOu!rD]j7BEbo7 becomes hello world01001000 01101001 becomes Hi",
+ "infoURL": "https://wikipedia.org/wiki/Binary_code",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF",
+ "None"
+ ]
+ },
+ {
+ "name": "Byte Length",
+ "type": "number",
+ "value": 8,
+ "min": 1
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:[01]{8})+$",
+ "flags": "",
+ "args": [
+ "None"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?: [01]{8})*$",
+ "flags": "",
+ "args": [
+ "Space"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?:,[01]{8})*$",
+ "flags": "",
+ "args": [
+ "Comma"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?:;[01]{8})*$",
+ "flags": "",
+ "args": [
+ "Semi-colon"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?::[01]{8})*$",
+ "flags": "",
+ "args": [
+ "Colon"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?:\\n[01]{8})*$",
+ "flags": "",
+ "args": [
+ "Line feed"
+ ]
+ },
+ {
+ "pattern": "^(?:[01]{8})(?:\\r\\n[01]{8})*$",
+ "flags": "",
+ "args": [
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "From Braille": {
+ "module": "Default",
+ "description": "Converts six-dot braille symbols to text.",
+ "infoURL": "https://wikipedia.org/wiki/Braille",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "From Case Insensitive Regex": {
+ "module": "Default",
+ "description": "Converts a case-insensitive regex string to a case sensitive regex string (no guarantee on it being the proper original casing) in case the i flag wasn't available at the time but now is, or you need it to be case-sensitive again.[mM][oO][zZ][iI][lL][lL][aA]/[0-9].[0-9] .* becomes Mozilla/[0-9].[0-9] .*",
+ "infoURL": "https://wikipedia.org/wiki/Regular_expression",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "From Charcode": {
+ "module": "Default",
+ "description": "Converts unicode character codes back into text.0393 03b5 03b9 03ac 20 03c3 03bf 03c5 becomes Γειά σου",
+ "infoURL": "https://wikipedia.org/wiki/Plane_(Unicode)",
+ "inputType": "string",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ },
+ {
+ "name": "Base",
+ "type": "number",
+ "value": 16
+ }
+ ]
+ },
+ "From Decimal": {
+ "module": "Default",
+ "description": "Converts the data from an ordinal integer array back into its raw form.72 101 108 108 111 becomes Hello",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ },
+ {
+ "name": "Support signed values",
+ "type": "boolean",
+ "value": false
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?: (?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "Space",
+ false
+ ]
+ },
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:,(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "Comma",
+ false
+ ]
+ },
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:;(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "Semi-colon",
+ false
+ ]
+ },
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?::(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "Colon",
+ false
+ ]
+ },
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:\\n(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "Line feed",
+ false
+ ]
+ },
+ {
+ "pattern": "^(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5])(?:\\r\\n(?:\\d{1,2}|1\\d{2}|2[0-4]\\d|25[0-5]))*$",
+ "flags": "",
+ "args": [
+ "CRLF",
+ false
+ ]
+ }
+ ]
+ },
+ "From Float": {
+ "module": "Default",
+ "description": "Convert from IEEE754 Floating Point Numbers",
+ "infoURL": "https://wikipedia.org/wiki/IEEE_754",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Endianness",
+ "type": "option",
+ "value": [
+ "Big Endian",
+ "Little Endian"
+ ]
+ },
+ {
+ "name": "Size",
+ "type": "option",
+ "value": [
+ "Float (4 bytes)",
+ "Double (8 bytes)"
+ ]
+ },
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "From HTML Entity": {
+ "module": "Encodings",
+ "description": "Converts HTML entities back to characters& becomes &",
+ "infoURL": "https://wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "&(?:#\\d{2,3}|#x[\\da-f]{2}|[a-z]{2,6});",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "From Hex": {
+ "module": "Default",
+ "description": "Converts a hexadecimal byte string back into its raw value.ce 93 ce b5 ce b9 ce ac 20 cf 83 ce bf cf 85 0a becomes the UTF-8 encoded string Γειά σου",
+ "infoURL": "https://wikipedia.org/wiki/Hexadecimal",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Auto",
+ "Space",
+ "Percent",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF",
+ "0x",
+ "0x with comma",
+ "\\x",
+ "None"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:[\\dA-F]{2})+$",
+ "flags": "i",
+ "args": [
+ "None"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?: [\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "Space"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?:,[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "Comma"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?:;[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "Semi-colon"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?::[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "Colon"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?:\\n[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "Line feed"
+ ]
+ },
+ {
+ "pattern": "^[\\dA-F]{2}(?:\\r\\n[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "CRLF"
+ ]
+ },
+ {
+ "pattern": "^(?:0x[\\dA-F]{2})+$",
+ "flags": "i",
+ "args": [
+ "0x"
+ ]
+ },
+ {
+ "pattern": "^0x[\\dA-F]{2}(?:,0x[\\dA-F]{2})*$",
+ "flags": "i",
+ "args": [
+ "0x with comma"
+ ]
+ },
+ {
+ "pattern": "^(?:\\\\x[\\dA-F]{2})+$",
+ "flags": "i",
+ "args": [
+ "\\x"
+ ]
+ }
+ ]
+ },
+ "From Hex Content": {
+ "module": "Default",
+ "description": "Translates hexadecimal bytes in text back to raw bytes. This format is used by SNORT for representing hex within ASCII text.foo|3d|bar becomes foo=bar.",
+ "infoURL": "http://manual-snort-org.s3-website-us-east-1.amazonaws.com/node32.html#SECTION00451000000000000000",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "\\|([\\da-f]{2} ?)+\\|",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "From Hexdump": {
+ "module": "Default",
+ "description": "Attempts to convert a hexdump back into raw data. This operation supports many different hexdump variations, but probably not all. Make sure you verify that the data it gives you is correct before continuing analysis.",
+ "infoURL": "https://wikipedia.org/wiki/Hex_dump",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^(?:(?:[\\dA-F]{4,16}h?:?)?[ \\t]*((?:[\\dA-F]{2} ){1,8}(?:[ \\t]|[\\dA-F]{2}-)(?:[\\dA-F]{2} ){1,8}|(?:[\\dA-F]{4} )*[\\dA-F]{4}|(?:[\\dA-F]{2} )*[\\dA-F]{2})[^\\n]*\\n?){2,}$",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "From MessagePack": {
+ "module": "Code",
+ "description": "Converts MessagePack encoded data to JSON. MessagePack is a computer data interchange format. It is a binary form for representing simple data structures like arrays and associative arrays.",
+ "infoURL": "https://wikipedia.org/wiki/MessagePack",
+ "inputType": "ArrayBuffer",
+ "outputType": "JSON",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "From Modhex": {
+ "module": "Default",
+ "description": "Converts a modhex byte string back into its raw value.",
+ "infoURL": "https://en.wikipedia.org/wiki/YubiKey#ModHex",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Auto",
+ "Space",
+ "Percent",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF",
+ "None"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:[cbdefghijklnrtuv]{2})+$",
+ "flags": "i",
+ "args": [
+ "None"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?: [cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "Space"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?:,[cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "Comma"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?:;[cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "Semi-colon"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?::[cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "Colon"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?:\\n[cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "Line feed"
+ ]
+ },
+ {
+ "pattern": "^[cbdefghijklnrtuv]{2}(?:\\r\\n[cbdefghijklnrtuv]{2})*$",
+ "flags": "i",
+ "args": [
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "From Morse Code": {
+ "module": "Default",
+ "description": "Translates Morse Code into (upper case) alphanumeric characters.",
+ "infoURL": "https://wikipedia.org/wiki/Morse_code",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Letter delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Line feed",
+ "CRLF",
+ "Forward slash",
+ "Backslash",
+ "Comma",
+ "Semi-colon",
+ "Colon"
+ ]
+ },
+ {
+ "name": "Word delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "CRLF",
+ "Forward slash",
+ "Backslash",
+ "Comma",
+ "Semi-colon",
+ "Colon"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "(?:^[-. \\n]{5,}$|^[_. \\n]{5,}$|^(?:dash|dot| |\\n){5,}$)",
+ "flags": "i",
+ "args": [
+ "Space",
+ "Line feed"
+ ]
+ }
+ ]
+ },
+ "From Octal": {
+ "module": "Default",
+ "description": "Converts an octal byte string back into its raw value.316 223 316 265 316 271 316 254 40 317 203 316 277 317 205 becomes the UTF-8 encoded string Γειά σου",
+ "infoURL": "https://wikipedia.org/wiki/Octal",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Line feed",
+ "CRLF"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?: (?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "Space"
+ ]
+ },
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?:,(?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "Comma"
+ ]
+ },
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?:;(?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "Semi-colon"
+ ]
+ },
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?::(?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "Colon"
+ ]
+ },
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?:\\n(?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "Line feed"
+ ]
+ },
+ {
+ "pattern": "^(?:[0-7]{1,2}|[123][0-7]{2})(?:\\r\\n(?:[0-7]{1,2}|[123][0-7]{2}))*$",
+ "flags": "",
+ "args": [
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "From Punycode": {
+ "module": "Encodings",
+ "description": "Punycode is a way to represent Unicode with the limited character subset of ASCII supported by the Domain Name System.mnchen-3ya decodes to münchen",
+ "infoURL": "https://wikipedia.org/wiki/Punycode",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Internationalised domain name",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "From Quoted Printable": {
+ "module": "Default",
+ "description": "Converts QP-encoded text back to standard text.hello=20world becomes hello world",
+ "infoURL": "https://wikipedia.org/wiki/Quoted-printable",
+ "inputType": "string",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^[\\x21-\\x3d\\x3f-\\x7e \\t]{0,76}(?:=[\\da-f]{2}|=\\r?\\n)(?:[\\x21-\\x3d\\x3f-\\x7e \\t]|=[\\da-f]{2}|=\\r?\\n)*$",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "From UNIX Timestamp": {
+ "module": "Default",
+ "description": "Converts a UNIX timestamp to a datetime string.978346800 becomes Mon 1 January 2001 11:00:00 UTCdpan will match on Don't Panic",
+ "infoURL": "https://wikipedia.org/wiki/Fuzzy_matching_(computer-assisted_translation)",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Search",
+ "type": "binaryString",
+ "value": ""
+ },
+ {
+ "name": "Sequential bonus",
+ "type": "number",
+ "value": 15,
+ "hint": "Bonus for adjacent matches"
+ },
+ {
+ "name": "Separator bonus",
+ "type": "number",
+ "value": 30,
+ "hint": "Bonus if match occurs after a separator"
+ },
+ {
+ "name": "Camel bonus",
+ "type": "number",
+ "value": 30,
+ "hint": "Bonus if match is uppercase and previous is lower"
+ },
+ {
+ "name": "First letter bonus",
+ "type": "number",
+ "value": 15,
+ "hint": "Bonus if the first letter is matched"
+ },
+ {
+ "name": "Leading letter penalty",
+ "type": "number",
+ "value": -5,
+ "hint": "Penalty applied for every letter in the input before the first match"
+ },
+ {
+ "name": "Max leading letter penalty",
+ "type": "number",
+ "value": -15,
+ "hint": "Maxiumum penalty for leading letters"
+ },
+ {
+ "name": "Unmatched letter penalty",
+ "type": "number",
+ "value": -1
+ }
+ ]
+ },
+ "GOST Decrypt": {
+ "module": "Ciphers",
+ "description": "The GOST block cipher (Magma), defined in the standard GOST 28147-89 (RFC 5830), is a Soviet and Russian government standard symmetric key block cipher with a block size of 64 bits. The original standard, published in 1989, did not give the cipher any name, but the most recent revision of the standard, GOST R 34.12-2015 (RFC 7801, RFC 8891), specifies that it may be referred to as Magma. The GOST hash function is based on this cipher. The new standard also specifies a new 128-bit block cipher called Kuznyechik.uuid package.Key: Value\n51.487263,-0.124323, 38.9517,-77.1467",
+ "infoURL": "https://wikipedia.org/wiki/Haversine_formula",
+ "inputType": "string",
+ "outputType": "number",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Head": {
+ "module": "Default",
+ "description": "Like the UNIX head utility._abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()RtlDecompressBuffer.",
+ "infoURL": "https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-xca/5655f4a3-6ba4-489b-959f-e1f407c52f15",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "LZString Compress": {
+ "module": "Compression",
+ "description": "Compress the input with lz-string.",
+ "infoURL": "https://pieroxy.net/blog/pages/lz-string/index.html",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Compression Format",
+ "type": "option",
+ "value": [
+ "default",
+ "UTF16",
+ "Base64"
+ ]
+ }
+ ]
+ },
+ "LZString Decompress": {
+ "module": "Compression",
+ "description": "Decompresses data that was compressed with lz-string.",
+ "infoURL": "https://pieroxy.net/blog/pages/lz-string/index.html",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Compression Format",
+ "type": "option",
+ "value": [
+ "default",
+ "UTF16",
+ "Base64"
+ ]
+ }
+ ]
+ },
+ "Label": {
+ "module": "Default",
+ "description": "Provides a location for conditional and fixed jumps to redirect execution to.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": true,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Name",
+ "type": "shortString",
+ "value": ""
+ }
+ ]
+ },
+ "Levenshtein Distance": {
+ "module": "Default",
+ "description": "Levenshtein Distance (also known as Edit Distance) is a string metric to measure a difference between two strings that counts operations (insertions, deletions, and substitutions) on single character that are required to change one string to another.",
+ "infoURL": "https://wikipedia.org/wiki/Levenshtein_distance",
+ "inputType": "string",
+ "outputType": "number",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample delimiter",
+ "type": "binaryString",
+ "value": "\\n"
+ },
+ {
+ "name": "Insertion cost",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Deletion cost",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Substitution cost",
+ "type": "number",
+ "value": 1
+ }
+ ]
+ },
+ "Lorenz": {
+ "module": "Bletchley",
+ "description": "The Lorenz SZ40/42 cipher attachment was a WW2 German rotor cipher machine with twelve rotors which attached in-line between remote teleprinters.0x0a 8 .5 .5 becomes 4.75",
+ "infoURL": "https://wikipedia.org/wiki/Arithmetic_mean",
+ "inputType": "string",
+ "outputType": "BigNumber",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "Median": {
+ "module": "Default",
+ "description": "Computes the median of a number list. If an item in the string is not a number it is excluded from the list.0x0a 8 1 .5 becomes 4.5",
+ "infoURL": "https://wikipedia.org/wiki/Median",
+ "inputType": "string",
+ "outputType": "BigNumber",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "Merge": {
+ "module": "Default",
+ "description": "Consolidate all branches back into a single trunk. The opposite of Fork. Unticking the Merge All checkbox will only consolidate all branches up to the nearest Fork/Subsection.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": true,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Merge All",
+ "type": "boolean",
+ "value": true
+ }
+ ]
+ },
+ "Microsoft Script Decoder": {
+ "module": "Default",
+ "description": "Decodes Microsoft Encoded Script files that have been encoded with Microsoft's custom encoding. These are often VBS (Visual Basic Script) files that are encoded and renamed with a '.vbe' extention or JS (JScript) files renamed with a '.jse' extention.#@~^RQAAAA==-mD~sX|:/TP{~J:+dYbxL~@!F@*@!+@*@!&@*eEI@#@&@#@&.jm.raY 214Wv:zms/obI0xEAAA==^#~@var my_msg = "Testing <1><2><3>!";\n\nVScript.Echo(my_msg);",
+ "infoURL": "https://wikipedia.org/wiki/JScript.Encode",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "#@~\\^.{6}==(.+).{6}==\\^#~@",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "Multiple Bombe": {
+ "module": "Bletchley",
+ "description": "Emulation of the Bombe machine used to attack Enigma. This version carries out multiple Bombe runs to handle unknown rotor configurations.0x0a 8 .5 becomes 40",
+ "infoURL": "https://wikipedia.org/wiki/Multiplication",
+ "inputType": "string",
+ "outputType": "BigNumber",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "MurmurHash3": {
+ "module": "Hashing",
+ "description": "Generates a MurmurHash v3 for a string input and an optional seed input",
+ "infoURL": "https://wikipedia.org/wiki/MurmurHash",
+ "inputType": "string",
+ "outputType": "number",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Seed",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Convert to Signed",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "NOT": {
+ "module": "Default",
+ "description": "Returns the inverse of each byte.",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#NOT",
+ "inputType": "ArrayBuffer",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "NT Hash": {
+ "module": "Crypto",
+ "description": "An NT Hash, sometimes referred to as an NTLM hash, is a method of storing passwords on Windows systems. It works by running MD4 on UTF-16LE encoded input. NTLM hashes are considered weak because they can be brute-forced very easily with modern hardware.",
+ "infoURL": "https://wikipedia.org/wiki/NT_LAN_Manager",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Normalise Image": {
+ "module": "Image",
+ "description": "Normalise the image colours.",
+ "infoURL": "",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Normalise Unicode": {
+ "module": "Encodings",
+ "description": "Transform Unicode characters to one of the Normalisation Forms",
+ "infoURL": "https://wikipedia.org/wiki/Unicode_equivalence#Normal_forms",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Normal Form",
+ "type": "option",
+ "value": [
+ "NFD",
+ "NFC",
+ "NFKD",
+ "NFKC"
+ ]
+ }
+ ]
+ },
+ "Numberwang": {
+ "module": "Default",
+ "description": "Based on the popular gameshow by Mitchell and Webb.",
+ "infoURL": "https://wikipedia.org/wiki/That_Mitchell_and_Webb_Look#Recurring_sketches",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "OR": {
+ "module": "Default",
+ "description": "OR the input with the given key.fe023da5",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#OR",
+ "inputType": "ArrayBuffer",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "Decimal",
+ "Binary",
+ "Base64",
+ "UTF8",
+ "Latin1"
+ ]
+ }
+ ]
+ },
+ "Object Identifier to Hex": {
+ "module": "PublicKey",
+ "description": "Converts an object identifier (OID) into a hexadecimal string.",
+ "infoURL": "https://wikipedia.org/wiki/Object_identifier",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Offset checker": {
+ "module": "Default",
+ "description": "Compares multiple inputs (separated by the specified delimiter) and highlights matching characters which appear at the same position in all samples.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample delimiter",
+ "type": "binaryString",
+ "value": "\\n\\n"
+ }
+ ]
+ },
+ "Optical Character Recognition": {
+ "module": "OCR",
+ "description": "Optical character recognition or optical character reader (OCR) is the mechanical or electronic conversion of images of typed, handwritten or printed text into machine-encoded text.object tags.a:2:{s:1:"a";i:10;i:0;a:1:{s:2:"ab";b:1;}}{"a": 10,0: {"ab": true}}object tags.PHP Deserialize.[5,"abc",true]a:3:{i:0;i:5;i:1;s:3:"abc";i:2;b:1;}",
+ "infoURL": "https://www.phpinternalsbook.com/php5/classes_objects/serialization.html",
+ "inputType": "JSON",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "P-list Viewer": {
+ "module": "Default",
+ "description": "In the macOS, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files.
This operation displays plist files in a human readable format.",
+ "infoURL": "https://wikipedia.org/wiki/Property_list",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Pad lines": {
+ "module": "Default",
+ "description": "Add the specified number of the specified character to the beginning or end of each line",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Position",
+ "type": "option",
+ "value": [
+ "Start",
+ "End"
+ ]
+ },
+ {
+ "name": "Length",
+ "type": "number",
+ "value": 5
+ },
+ {
+ "name": "Character",
+ "type": "binaryShortString",
+ "value": " "
+ }
+ ]
+ },
+ "Parse ASN.1 hex string": {
+ "module": "PublicKey",
+ "description": "Abstract Syntax Notation One (ASN.1) is a standard and notation that describes rules and structures for representing, encoding, transmitting, and decoding data in telecommunications and computer networking.
This operation parses arbitrary ASN.1 data (encoded as an hex string: use the 'To Hex' operation if necessary) and presents the resulting tree.",
+ "infoURL": "https://wikipedia.org/wiki/Abstract_Syntax_Notation_One",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Starting index",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Truncate octet strings longer than",
+ "type": "number",
+ "value": 32
+ }
+ ]
+ },
+ "Parse CSR": {
+ "module": "PublicKey",
+ "description": "Parse Certificate Signing Request (CSR) for an X.509 certificate",
+ "infoURL": "https://wikipedia.org/wiki/Certificate_signing_request",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "PEM"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^-+BEGIN CERTIFICATE REQUEST-+\\r?\\n[\\da-z+/\\n\\r]+-+END CERTIFICATE REQUEST-+\\r?\\n?$",
+ "flags": "i",
+ "args": [
+ "PEM"
+ ]
+ }
+ ]
+ },
+ "Parse colour code": {
+ "module": "Default",
+ "description": "Converts a colour code in a standard format to other standard formats and displays the colour itself.
Example inputs#d9edf7rgba(217,237,247,1)hsla(200,65%,91%,1)cmyk(0.12, 0.04, 0.00, 0.03)
",
+ "infoURL": "https://wikipedia.org/wiki/Web_colors",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Parse DateTime": {
+ "module": "Default",
+ "description": "Parses a DateTime string in your specified format and displays it in whichever timezone you choose with the following information:- Date
- Time
- Period (AM/PM)
- Timezone
- UTC offset
- Daylight Saving Time
- Leap year
- Days in this month
- Day of year
- Week number
- Quarter
Run with no input to see format string examples if required.",
+ "infoURL": "https://momentjs.com/docs/#/parsing/string-format/",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Built in formats",
+ "type": "populateOption",
+ "value": [
+ {
+ "name": "Standard date and time",
+ "value": "DD/MM/YYYY HH:mm:ss"
+ },
+ {
+ "name": "American-style date and time",
+ "value": "MM/DD/YYYY HH:mm:ss"
+ },
+ {
+ "name": "International date and time",
+ "value": "YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "name": "Verbose date and time",
+ "value": "dddd Do MMMM YYYY HH:mm:ss Z z"
+ },
+ {
+ "name": "UNIX timestamp (seconds)",
+ "value": "X"
+ },
+ {
+ "name": "UNIX timestamp offset (milliseconds)",
+ "value": "x"
+ },
+ {
+ "name": "Automatic",
+ "value": ""
+ }
+ ],
+ "target": 1
+ },
+ {
+ "name": "Input format string",
+ "type": "binaryString",
+ "value": "DD/MM/YYYY HH:mm:ss"
+ },
+ {
+ "name": "Input timezone",
+ "type": "option",
+ "value": [
+ "UTC",
+ "Africa/Abidjan",
+ "Africa/Accra",
+ "Africa/Addis_Ababa",
+ "Africa/Algiers",
+ "Africa/Asmara",
+ "Africa/Asmera",
+ "Africa/Bamako",
+ "Africa/Bangui",
+ "Africa/Banjul",
+ "Africa/Bissau",
+ "Africa/Blantyre",
+ "Africa/Brazzaville",
+ "Africa/Bujumbura",
+ "Africa/Cairo",
+ "Africa/Casablanca",
+ "Africa/Ceuta",
+ "Africa/Conakry",
+ "Africa/Dakar",
+ "Africa/Dar_es_Salaam",
+ "Africa/Djibouti",
+ "Africa/Douala",
+ "Africa/El_Aaiun",
+ "Africa/Freetown",
+ "Africa/Gaborone",
+ "Africa/Harare",
+ "Africa/Johannesburg",
+ "Africa/Juba",
+ "Africa/Kampala",
+ "Africa/Khartoum",
+ "Africa/Kigali",
+ "Africa/Kinshasa",
+ "Africa/Lagos",
+ "Africa/Libreville",
+ "Africa/Lome",
+ "Africa/Luanda",
+ "Africa/Lubumbashi",
+ "Africa/Lusaka",
+ "Africa/Malabo",
+ "Africa/Maputo",
+ "Africa/Maseru",
+ "Africa/Mbabane",
+ "Africa/Mogadishu",
+ "Africa/Monrovia",
+ "Africa/Nairobi",
+ "Africa/Ndjamena",
+ "Africa/Niamey",
+ "Africa/Nouakchott",
+ "Africa/Ouagadougou",
+ "Africa/Porto-Novo",
+ "Africa/Sao_Tome",
+ "Africa/Timbuktu",
+ "Africa/Tripoli",
+ "Africa/Tunis",
+ "Africa/Windhoek",
+ "America/Adak",
+ "America/Anchorage",
+ "America/Anguilla",
+ "America/Antigua",
+ "America/Araguaina",
+ "America/Argentina/Buenos_Aires",
+ "America/Argentina/Catamarca",
+ "America/Argentina/ComodRivadavia",
+ "America/Argentina/Cordoba",
+ "America/Argentina/Jujuy",
+ "America/Argentina/La_Rioja",
+ "America/Argentina/Mendoza",
+ "America/Argentina/Rio_Gallegos",
+ "America/Argentina/Salta",
+ "America/Argentina/San_Juan",
+ "America/Argentina/San_Luis",
+ "America/Argentina/Tucuman",
+ "America/Argentina/Ushuaia",
+ "America/Aruba",
+ "America/Asuncion",
+ "America/Atikokan",
+ "America/Atka",
+ "America/Bahia",
+ "America/Bahia_Banderas",
+ "America/Barbados",
+ "America/Belem",
+ "America/Belize",
+ "America/Blanc-Sablon",
+ "America/Boa_Vista",
+ "America/Bogota",
+ "America/Boise",
+ "America/Buenos_Aires",
+ "America/Cambridge_Bay",
+ "America/Campo_Grande",
+ "America/Cancun",
+ "America/Caracas",
+ "America/Catamarca",
+ "America/Cayenne",
+ "America/Cayman",
+ "America/Chicago",
+ "America/Chihuahua",
+ "America/Ciudad_Juarez",
+ "America/Coral_Harbour",
+ "America/Cordoba",
+ "America/Costa_Rica",
+ "America/Coyhaique",
+ "America/Creston",
+ "America/Cuiaba",
+ "America/Curacao",
+ "America/Danmarkshavn",
+ "America/Dawson",
+ "America/Dawson_Creek",
+ "America/Denver",
+ "America/Detroit",
+ "America/Dominica",
+ "America/Edmonton",
+ "America/Eirunepe",
+ "America/El_Salvador",
+ "America/Ensenada",
+ "America/Fort_Nelson",
+ "America/Fort_Wayne",
+ "America/Fortaleza",
+ "America/Glace_Bay",
+ "America/Godthab",
+ "America/Goose_Bay",
+ "America/Grand_Turk",
+ "America/Grenada",
+ "America/Guadeloupe",
+ "America/Guatemala",
+ "America/Guayaquil",
+ "America/Guyana",
+ "America/Halifax",
+ "America/Havana",
+ "America/Hermosillo",
+ "America/Indiana/Indianapolis",
+ "America/Indiana/Knox",
+ "America/Indiana/Marengo",
+ "America/Indiana/Petersburg",
+ "America/Indiana/Tell_City",
+ "America/Indiana/Vevay",
+ "America/Indiana/Vincennes",
+ "America/Indiana/Winamac",
+ "America/Indianapolis",
+ "America/Inuvik",
+ "America/Iqaluit",
+ "America/Jamaica",
+ "America/Jujuy",
+ "America/Juneau",
+ "America/Kentucky/Louisville",
+ "America/Kentucky/Monticello",
+ "America/Knox_IN",
+ "America/Kralendijk",
+ "America/La_Paz",
+ "America/Lima",
+ "America/Los_Angeles",
+ "America/Louisville",
+ "America/Lower_Princes",
+ "America/Maceio",
+ "America/Managua",
+ "America/Manaus",
+ "America/Marigot",
+ "America/Martinique",
+ "America/Matamoros",
+ "America/Mazatlan",
+ "America/Mendoza",
+ "America/Menominee",
+ "America/Merida",
+ "America/Metlakatla",
+ "America/Mexico_City",
+ "America/Miquelon",
+ "America/Moncton",
+ "America/Monterrey",
+ "America/Montevideo",
+ "America/Montreal",
+ "America/Montserrat",
+ "America/Nassau",
+ "America/New_York",
+ "America/Nipigon",
+ "America/Nome",
+ "America/Noronha",
+ "America/North_Dakota/Beulah",
+ "America/North_Dakota/Center",
+ "America/North_Dakota/New_Salem",
+ "America/Nuuk",
+ "America/Ojinaga",
+ "America/Panama",
+ "America/Pangnirtung",
+ "America/Paramaribo",
+ "America/Phoenix",
+ "America/Port-au-Prince",
+ "America/Port_of_Spain",
+ "America/Porto_Acre",
+ "America/Porto_Velho",
+ "America/Puerto_Rico",
+ "America/Punta_Arenas",
+ "America/Rainy_River",
+ "America/Rankin_Inlet",
+ "America/Recife",
+ "America/Regina",
+ "America/Resolute",
+ "America/Rio_Branco",
+ "America/Rosario",
+ "America/Santa_Isabel",
+ "America/Santarem",
+ "America/Santiago",
+ "America/Santo_Domingo",
+ "America/Sao_Paulo",
+ "America/Scoresbysund",
+ "America/Shiprock",
+ "America/Sitka",
+ "America/St_Barthelemy",
+ "America/St_Johns",
+ "America/St_Kitts",
+ "America/St_Lucia",
+ "America/St_Thomas",
+ "America/St_Vincent",
+ "America/Swift_Current",
+ "America/Tegucigalpa",
+ "America/Thule",
+ "America/Thunder_Bay",
+ "America/Tijuana",
+ "America/Toronto",
+ "America/Tortola",
+ "America/Vancouver",
+ "America/Virgin",
+ "America/Whitehorse",
+ "America/Winnipeg",
+ "America/Yakutat",
+ "America/Yellowknife",
+ "Antarctica/Casey",
+ "Antarctica/Davis",
+ "Antarctica/DumontDUrville",
+ "Antarctica/Macquarie",
+ "Antarctica/Mawson",
+ "Antarctica/McMurdo",
+ "Antarctica/Palmer",
+ "Antarctica/Rothera",
+ "Antarctica/South_Pole",
+ "Antarctica/Syowa",
+ "Antarctica/Troll",
+ "Antarctica/Vostok",
+ "Arctic/Longyearbyen",
+ "Asia/Aden",
+ "Asia/Almaty",
+ "Asia/Amman",
+ "Asia/Anadyr",
+ "Asia/Aqtau",
+ "Asia/Aqtobe",
+ "Asia/Ashgabat",
+ "Asia/Ashkhabad",
+ "Asia/Atyrau",
+ "Asia/Baghdad",
+ "Asia/Bahrain",
+ "Asia/Baku",
+ "Asia/Bangkok",
+ "Asia/Barnaul",
+ "Asia/Beirut",
+ "Asia/Bishkek",
+ "Asia/Brunei",
+ "Asia/Calcutta",
+ "Asia/Chita",
+ "Asia/Choibalsan",
+ "Asia/Chongqing",
+ "Asia/Chungking",
+ "Asia/Colombo",
+ "Asia/Dacca",
+ "Asia/Damascus",
+ "Asia/Dhaka",
+ "Asia/Dili",
+ "Asia/Dubai",
+ "Asia/Dushanbe",
+ "Asia/Famagusta",
+ "Asia/Gaza",
+ "Asia/Harbin",
+ "Asia/Hebron",
+ "Asia/Ho_Chi_Minh",
+ "Asia/Hong_Kong",
+ "Asia/Hovd",
+ "Asia/Irkutsk",
+ "Asia/Istanbul",
+ "Asia/Jakarta",
+ "Asia/Jayapura",
+ "Asia/Jerusalem",
+ "Asia/Kabul",
+ "Asia/Kamchatka",
+ "Asia/Karachi",
+ "Asia/Kashgar",
+ "Asia/Kathmandu",
+ "Asia/Katmandu",
+ "Asia/Khandyga",
+ "Asia/Kolkata",
+ "Asia/Krasnoyarsk",
+ "Asia/Kuala_Lumpur",
+ "Asia/Kuching",
+ "Asia/Kuwait",
+ "Asia/Macao",
+ "Asia/Macau",
+ "Asia/Magadan",
+ "Asia/Makassar",
+ "Asia/Manila",
+ "Asia/Muscat",
+ "Asia/Nicosia",
+ "Asia/Novokuznetsk",
+ "Asia/Novosibirsk",
+ "Asia/Omsk",
+ "Asia/Oral",
+ "Asia/Phnom_Penh",
+ "Asia/Pontianak",
+ "Asia/Pyongyang",
+ "Asia/Qatar",
+ "Asia/Qostanay",
+ "Asia/Qyzylorda",
+ "Asia/Rangoon",
+ "Asia/Riyadh",
+ "Asia/Saigon",
+ "Asia/Sakhalin",
+ "Asia/Samarkand",
+ "Asia/Seoul",
+ "Asia/Shanghai",
+ "Asia/Singapore",
+ "Asia/Srednekolymsk",
+ "Asia/Taipei",
+ "Asia/Tashkent",
+ "Asia/Tbilisi",
+ "Asia/Tehran",
+ "Asia/Tel_Aviv",
+ "Asia/Thimbu",
+ "Asia/Thimphu",
+ "Asia/Tokyo",
+ "Asia/Tomsk",
+ "Asia/Ujung_Pandang",
+ "Asia/Ulaanbaatar",
+ "Asia/Ulan_Bator",
+ "Asia/Urumqi",
+ "Asia/Ust-Nera",
+ "Asia/Vientiane",
+ "Asia/Vladivostok",
+ "Asia/Yakutsk",
+ "Asia/Yangon",
+ "Asia/Yekaterinburg",
+ "Asia/Yerevan",
+ "Atlantic/Azores",
+ "Atlantic/Bermuda",
+ "Atlantic/Canary",
+ "Atlantic/Cape_Verde",
+ "Atlantic/Faeroe",
+ "Atlantic/Faroe",
+ "Atlantic/Jan_Mayen",
+ "Atlantic/Madeira",
+ "Atlantic/Reykjavik",
+ "Atlantic/South_Georgia",
+ "Atlantic/St_Helena",
+ "Atlantic/Stanley",
+ "Australia/ACT",
+ "Australia/Adelaide",
+ "Australia/Brisbane",
+ "Australia/Broken_Hill",
+ "Australia/Canberra",
+ "Australia/Currie",
+ "Australia/Darwin",
+ "Australia/Eucla",
+ "Australia/Hobart",
+ "Australia/LHI",
+ "Australia/Lindeman",
+ "Australia/Lord_Howe",
+ "Australia/Melbourne",
+ "Australia/NSW",
+ "Australia/North",
+ "Australia/Perth",
+ "Australia/Queensland",
+ "Australia/South",
+ "Australia/Sydney",
+ "Australia/Tasmania",
+ "Australia/Victoria",
+ "Australia/West",
+ "Australia/Yancowinna",
+ "Brazil/Acre",
+ "Brazil/DeNoronha",
+ "Brazil/East",
+ "Brazil/West",
+ "CET",
+ "CST6CDT",
+ "Canada/Atlantic",
+ "Canada/Central",
+ "Canada/Eastern",
+ "Canada/Mountain",
+ "Canada/Newfoundland",
+ "Canada/Pacific",
+ "Canada/Saskatchewan",
+ "Canada/Yukon",
+ "Chile/Continental",
+ "Chile/EasterIsland",
+ "Cuba",
+ "EET",
+ "EST",
+ "EST5EDT",
+ "Egypt",
+ "Eire",
+ "Etc/GMT",
+ "Etc/GMT+0",
+ "Etc/GMT+1",
+ "Etc/GMT+10",
+ "Etc/GMT+11",
+ "Etc/GMT+12",
+ "Etc/GMT+2",
+ "Etc/GMT+3",
+ "Etc/GMT+4",
+ "Etc/GMT+5",
+ "Etc/GMT+6",
+ "Etc/GMT+7",
+ "Etc/GMT+8",
+ "Etc/GMT+9",
+ "Etc/GMT-0",
+ "Etc/GMT-1",
+ "Etc/GMT-10",
+ "Etc/GMT-11",
+ "Etc/GMT-12",
+ "Etc/GMT-13",
+ "Etc/GMT-14",
+ "Etc/GMT-2",
+ "Etc/GMT-3",
+ "Etc/GMT-4",
+ "Etc/GMT-5",
+ "Etc/GMT-6",
+ "Etc/GMT-7",
+ "Etc/GMT-8",
+ "Etc/GMT-9",
+ "Etc/GMT0",
+ "Etc/Greenwich",
+ "Etc/UCT",
+ "Etc/UTC",
+ "Etc/Universal",
+ "Etc/Zulu",
+ "Europe/Amsterdam",
+ "Europe/Andorra",
+ "Europe/Astrakhan",
+ "Europe/Athens",
+ "Europe/Belfast",
+ "Europe/Belgrade",
+ "Europe/Berlin",
+ "Europe/Bratislava",
+ "Europe/Brussels",
+ "Europe/Bucharest",
+ "Europe/Budapest",
+ "Europe/Busingen",
+ "Europe/Chisinau",
+ "Europe/Copenhagen",
+ "Europe/Dublin",
+ "Europe/Gibraltar",
+ "Europe/Guernsey",
+ "Europe/Helsinki",
+ "Europe/Isle_of_Man",
+ "Europe/Istanbul",
+ "Europe/Jersey",
+ "Europe/Kaliningrad",
+ "Europe/Kiev",
+ "Europe/Kirov",
+ "Europe/Kyiv",
+ "Europe/Lisbon",
+ "Europe/Ljubljana",
+ "Europe/London",
+ "Europe/Luxembourg",
+ "Europe/Madrid",
+ "Europe/Malta",
+ "Europe/Mariehamn",
+ "Europe/Minsk",
+ "Europe/Monaco",
+ "Europe/Moscow",
+ "Europe/Nicosia",
+ "Europe/Oslo",
+ "Europe/Paris",
+ "Europe/Podgorica",
+ "Europe/Prague",
+ "Europe/Riga",
+ "Europe/Rome",
+ "Europe/Samara",
+ "Europe/San_Marino",
+ "Europe/Sarajevo",
+ "Europe/Saratov",
+ "Europe/Simferopol",
+ "Europe/Skopje",
+ "Europe/Sofia",
+ "Europe/Stockholm",
+ "Europe/Tallinn",
+ "Europe/Tirane",
+ "Europe/Tiraspol",
+ "Europe/Ulyanovsk",
+ "Europe/Uzhgorod",
+ "Europe/Vaduz",
+ "Europe/Vatican",
+ "Europe/Vienna",
+ "Europe/Vilnius",
+ "Europe/Volgograd",
+ "Europe/Warsaw",
+ "Europe/Zagreb",
+ "Europe/Zaporozhye",
+ "Europe/Zurich",
+ "GB",
+ "GB-Eire",
+ "GMT",
+ "GMT+0",
+ "GMT-0",
+ "GMT0",
+ "Greenwich",
+ "HST",
+ "Hongkong",
+ "Iceland",
+ "Indian/Antananarivo",
+ "Indian/Chagos",
+ "Indian/Christmas",
+ "Indian/Cocos",
+ "Indian/Comoro",
+ "Indian/Kerguelen",
+ "Indian/Mahe",
+ "Indian/Maldives",
+ "Indian/Mauritius",
+ "Indian/Mayotte",
+ "Indian/Reunion",
+ "Iran",
+ "Israel",
+ "Jamaica",
+ "Japan",
+ "Kwajalein",
+ "Libya",
+ "MET",
+ "MST",
+ "MST7MDT",
+ "Mexico/BajaNorte",
+ "Mexico/BajaSur",
+ "Mexico/General",
+ "NZ",
+ "NZ-CHAT",
+ "Navajo",
+ "PRC",
+ "PST8PDT",
+ "Pacific/Apia",
+ "Pacific/Auckland",
+ "Pacific/Bougainville",
+ "Pacific/Chatham",
+ "Pacific/Chuuk",
+ "Pacific/Easter",
+ "Pacific/Efate",
+ "Pacific/Enderbury",
+ "Pacific/Fakaofo",
+ "Pacific/Fiji",
+ "Pacific/Funafuti",
+ "Pacific/Galapagos",
+ "Pacific/Gambier",
+ "Pacific/Guadalcanal",
+ "Pacific/Guam",
+ "Pacific/Honolulu",
+ "Pacific/Johnston",
+ "Pacific/Kanton",
+ "Pacific/Kiritimati",
+ "Pacific/Kosrae",
+ "Pacific/Kwajalein",
+ "Pacific/Majuro",
+ "Pacific/Marquesas",
+ "Pacific/Midway",
+ "Pacific/Nauru",
+ "Pacific/Niue",
+ "Pacific/Norfolk",
+ "Pacific/Noumea",
+ "Pacific/Pago_Pago",
+ "Pacific/Palau",
+ "Pacific/Pitcairn",
+ "Pacific/Pohnpei",
+ "Pacific/Ponape",
+ "Pacific/Port_Moresby",
+ "Pacific/Rarotonga",
+ "Pacific/Saipan",
+ "Pacific/Samoa",
+ "Pacific/Tahiti",
+ "Pacific/Tarawa",
+ "Pacific/Tongatapu",
+ "Pacific/Truk",
+ "Pacific/Wake",
+ "Pacific/Wallis",
+ "Pacific/Yap",
+ "Poland",
+ "Portugal",
+ "ROC",
+ "ROK",
+ "Singapore",
+ "Turkey",
+ "UCT",
+ "US/Alaska",
+ "US/Aleutian",
+ "US/Arizona",
+ "US/Central",
+ "US/East-Indiana",
+ "US/Eastern",
+ "US/Hawaii",
+ "US/Indiana-Starke",
+ "US/Michigan",
+ "US/Mountain",
+ "US/Pacific",
+ "US/Samoa",
+ "UTC",
+ "Universal",
+ "W-SU",
+ "WET",
+ "Zulu"
+ ]
+ }
+ ]
+ },
+ "Parse IP range": {
+ "module": "Default",
+ "description": "Given a CIDR range (e.g. 10.0.0.0/24), hyphenated range (e.g. 10.0.0.0 - 10.0.1.0), or a list of IPs and/or CIDR ranges (separated by a new line), this operation provides network information and enumerates all IP addresses in the range.
IPv6 is supported but will not be enumerated.",
+ "infoURL": "https://wikipedia.org/wiki/Subnetwork",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Include network info",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Enumerate IP addresses",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Allow large queries",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Parse IPv4 header": {
+ "module": "Default",
+ "description": "Given an IPv4 header, this operations parses and displays each field in an easily readable format.",
+ "infoURL": "https://wikipedia.org/wiki/IPv4#Header",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "Parse IPv6 address": {
+ "module": "Default",
+ "description": "Displays the longhand and shorthand versions of a valid IPv6 address.
Recognises all reserved ranges and parses encapsulated or tunnelled addresses including Teredo and 6to4.",
+ "infoURL": "https://wikipedia.org/wiki/IPv6_address",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Parse ObjectID timestamp": {
+ "module": "Serialise",
+ "description": "Parse timestamp from MongoDB/BSON ObjectID hex string.",
+ "infoURL": "https://docs.mongodb.com/manual/reference/method/ObjectId.getTimestamp/",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Parse QR Code": {
+ "module": "Image",
+ "description": "Reads an image file and attempts to detect and read a Quick Response (QR) code from the image.
Normalise Image
Attempts to normalise the image before parsing it to improve detection of a QR code.",
+ "infoURL": "https://wikipedia.org/wiki/QR_code",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Normalise image",
+ "type": "boolean",
+ "value": false
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:\\xff\\xd8\\xff|\\x89\\x50\\x4e\\x47|\\x47\\x49\\x46|.{8}\\x57\\x45\\x42\\x50|\\x42\\x4d)",
+ "flags": "",
+ "args": [
+ false
+ ],
+ "useful": true
+ }
+ ]
+ },
+ "Parse SSH Host Key": {
+ "module": "Default",
+ "description": "Parses a SSH host key and extracts fields from it.
The key type can be:- ssh-rsa
- ssh-dss
- ecdsa-sha2
- ssh-ed25519
The key format can be either Hex or Base64.",
+ "infoURL": "https://wikipedia.org/wiki/Secure_Shell",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input Format",
+ "type": "option",
+ "value": [
+ "Auto",
+ "Base64",
+ "Hex"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^\\s*([A-F\\d]{2}[,;:]){15,}[A-F\\d]{2}\\s*$",
+ "flags": "i",
+ "args": [
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "Parse TCP": {
+ "module": "Default",
+ "description": "Parses a TCP header and payload (if present).",
+ "infoURL": "https://wikipedia.org/wiki/Transmission_Control_Protocol",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "Parse TLS record": {
+ "module": "Default",
+ "description": "Parses one or more TLS records",
+ "infoURL": "https://wikipedia.org/wiki/Transport_Layer_Security",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Parse TLV": {
+ "module": "Default",
+ "description": "Converts a Type-Length-Value (TLV) encoded string into a JSON object. Can optionally include a Key / Type entry.
Tags: Key-Length-Value, KLV, Length-Value, LV",
+ "infoURL": "https://wikipedia.org/wiki/Type-length-value",
+ "inputType": "ArrayBuffer",
+ "outputType": "JSON",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Type/Key size",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Length size",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Use BER",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Parse UDP": {
+ "module": "Default",
+ "description": "Parses a UDP header and payload (if present).",
+ "infoURL": "https://wikipedia.org/wiki/User_Datagram_Protocol",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "Parse UNIX file permissions": {
+ "module": "Default",
+ "description": "Given a UNIX/Linux file permission string in octal or textual format, this operation explains which permissions are granted to which user groups.
Input should be in either octal (e.g. 755) or textual (e.g. drwxr-xr-x) format.",
+ "infoURL": "https://wikipedia.org/wiki/File_system_permissions#Traditional_Unix_permissions",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^\\s*d[rxw-]{9}\\s*$",
+ "flags": "",
+ "args": []
+ }
+ ]
+ },
+ "Parse URI": {
+ "module": "URL",
+ "description": "Pretty prints complicated Uniform Resource Identifier (URI) strings for ease of reading. Particularly useful for Uniform Resource Locators (URLs) with a lot of arguments.",
+ "infoURL": "https://wikipedia.org/wiki/Uniform_Resource_Identifier",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Parse User Agent": {
+ "module": "UserAgent",
+ "description": "Attempts to identify and categorise information contained in a user-agent string.",
+ "infoURL": "https://wikipedia.org/wiki/User_agent",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": [
+ {
+ "pattern": "^(User-Agent:|Mozilla\\/)[^\\n\\r]+\\s*$",
+ "flags": "i",
+ "args": []
+ }
+ ]
+ },
+ "Parse X.509 CRL": {
+ "module": "PublicKey",
+ "description": "Parse Certificate Revocation List (CRL)",
+ "infoURL": "https://wikipedia.org/wiki/Certificate_revocation_list",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "PEM",
+ "DER Hex",
+ "Base64",
+ "Raw"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^-+BEGIN X509 CRL-+\\r?\\n[\\da-z+/\\n\\r]+-+END X509 CRL-+\\r?\\n?$",
+ "flags": "i",
+ "args": [
+ "PEM"
+ ]
+ }
+ ]
+ },
+ "Parse X.509 certificate": {
+ "module": "PublicKey",
+ "description": "X.509 is an ITU-T standard for a public key infrastructure (PKI) and Privilege Management Infrastructure (PMI). It is commonly involved with SSL/TLS security.
This operation displays the contents of a certificate in a human readable format, similar to the openssl command line tool.
Tags: X509, server hello, handshake",
+ "infoURL": "https://wikipedia.org/wiki/X.509",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "PEM",
+ "DER Hex",
+ "Base64",
+ "Raw"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^-+BEGIN CERTIFICATE-+\\r?\\n[\\da-z+/\\n\\r]+-+END CERTIFICATE-+\\r?\\n?$",
+ "flags": "i",
+ "args": [
+ "PEM"
+ ]
+ }
+ ]
+ },
+ "Play Media": {
+ "module": "Default",
+ "description": "Plays the input as audio or video depending on the type.
Tags: sound, movie, mp3, mp4, mov, webm, wav, ogg",
+ "infoURL": "",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Base64",
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "Power Set": {
+ "module": "Default",
+ "description": "Calculates all the subsets of a set.",
+ "infoURL": "https://wikipedia.org/wiki/Power_set",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Item delimiter",
+ "type": "binaryString",
+ "value": ","
+ }
+ ]
+ },
+ "Protobuf Decode": {
+ "module": "Protobuf",
+ "description": "Decodes any Protobuf encoded data to a JSON representation of the data using the field number as the field key.
If a .proto schema is defined, the encoded data will be decoded with reference to the schema. Only one message instance will be decoded.
Show Unknown Fields
When a schema is used, this option shows fields that are present in the input data but not defined in the schema.
Show Types
Show the type of a field next to its name. For undefined fields, the wiretype and example types are shown instead.",
+ "infoURL": "https://wikipedia.org/wiki/Protocol_Buffers",
+ "inputType": "ArrayBuffer",
+ "outputType": "JSON",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Schema (.proto text)",
+ "type": "text",
+ "value": "",
+ "hint": "Drag and drop is enabled on this ingredient",
+ "rows": 8
+ },
+ {
+ "name": "Show Unknown Fields",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Show Types",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Protobuf Encode": {
+ "module": "Protobuf",
+ "description": "Encodes a valid JSON object into a protobuf byte array using the input .proto schema.",
+ "infoURL": "https://developers.google.com/protocol-buffers/docs/encoding",
+ "inputType": "JSON",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Schema (.proto text)",
+ "type": "text",
+ "value": "",
+ "hint": "Drag and drop is enabled on this ingredient",
+ "rows": 8
+ }
+ ]
+ },
+ "Pseudo-Random Number Generator": {
+ "module": "Ciphers",
+ "description": "A cryptographically-secure pseudo-random number generator (PRNG).
This operation uses the browser's built-in crypto.getRandomValues() method if available. If this cannot be found, it falls back to a Fortuna-based PRNG algorithm.",
+ "infoURL": "https://wikipedia.org/wiki/Pseudorandom_number_generator",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Number of bytes",
+ "type": "number",
+ "value": 32
+ },
+ {
+ "name": "Output as",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Integer",
+ "Byte array",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "Public Key from Certificate": {
+ "module": "PublicKey",
+ "description": "Extracts the Public Key from a Certificate.",
+ "infoURL": "https://en.wikipedia.org/wiki/X.509",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": []
+ },
+ "Public Key from Private Key": {
+ "module": "PublicKey",
+ "description": "Extracts the Public Key from a Private Key.",
+ "infoURL": "https://en.wikipedia.org/wiki/PKCS_8",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [],
+ "checks": []
+ },
+ "RAKE": {
+ "module": "Default",
+ "description": "Rapid Keyword Extraction (RAKE)\n
\nRAKE is a domain-independent keyword extraction algorithm in Natural Language Processing.\n
\nThe list of stop words are from the NLTK python package",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Word Delimiter (Regex)",
+ "type": "text",
+ "value": "\\s"
+ },
+ {
+ "name": "Sentence Delimiter (Regex)",
+ "type": "text",
+ "value": "\\.\\s|\\n"
+ },
+ {
+ "name": "Stop Words",
+ "type": "text",
+ "value": "i,me,my,myself,we,our,ours,ourselves,you,you're,you've,you'll,you'd,your,yours,yourself,yourselves,he,him,his,himself,she,she's,her,hers,herself,it,it's,its,itsef,they,them,their,theirs,themselves,what,which,who,whom,this,that,that'll,these,those,am,is,are,was,were,be,been,being,have,has,had,having,do,does',did,doing,a,an,the,and,but,if,or,because,as,until,while,of,at,by,for,with,about,against,between,into,through,during,before,after,above,below,to,from,up,down,in,out,on,off,over,under,again,further,then,once,here,there,when,where,why,how,all,any,both,each,few,more,most,other,some,such,no,nor,not,only,own,same,so,than,too,very,s,t,can,will,just,don,don't,should,should've,now,d,ll,m,o,re,ve,y,ain,aren,aren't,couldn,couldn't,didn,didn't,doesn,doesn't,hadn,hadn't,hasn,hasn't,haven,haven't,isn,isn't,ma,mightn,mightn't,mustn,mustn't,needn,needn't,shan,shan't,shouldn,shouldn't,wasn,wasn't,weren,weren't,won,won't,wouldn,wouldn't"
+ }
+ ]
+ },
+ "RC2 Decrypt": {
+ "module": "Ciphers",
+ "description": "RC2 (also known as ARC2) is a symmetric-key block cipher designed by Ron Rivest in 1987. 'RC' stands for 'Rivest Cipher'.
Key: RC2 uses a variable size key.
IV: To run the cipher in CBC mode, the Initialization Vector should be 8 bytes long. If the IV is left blank, the cipher will run in ECB mode.
Padding: In both CBC and ECB mode, PKCS#7 padding will be used.",
+ "infoURL": "https://wikipedia.org/wiki/RC2",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "IV",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "RC2 Encrypt": {
+ "module": "Ciphers",
+ "description": "RC2 (also known as ARC2) is a symmetric-key block cipher designed by Ron Rivest in 1987. 'RC' stands for 'Rivest Cipher'.
Key: RC2 uses a variable size key.
You can generate a password-based key using one of the KDF operations.
IV: To run the cipher in CBC mode, the Initialization Vector should be 8 bytes long. If the IV is left blank, the cipher will run in ECB mode.
Padding: In both CBC and ECB mode, PKCS#7 padding will be used.",
+ "infoURL": "https://wikipedia.org/wiki/RC2",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "IV",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "RC4": {
+ "module": "Ciphers",
+ "description": "RC4 (also known as ARC4) is a widely-used stream cipher designed by Ron Rivest. It is used in popular protocols such as SSL and WEP. Although remarkable for its simplicity and speed, the algorithm's history doesn't inspire confidence in its security.",
+ "infoURL": "https://wikipedia.org/wiki/RC4",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Passphrase",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Latin1",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Latin1",
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Output format",
+ "type": "option",
+ "value": [
+ "Latin1",
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Hex",
+ "Base64"
+ ]
+ }
+ ]
+ },
+ "RC4 Drop": {
+ "module": "Ciphers",
+ "description": "It was discovered that the first few bytes of the RC4 keystream are strongly non-random and leak information about the key. We can defend against this attack by discarding the initial portion of the keystream. This modified algorithm is traditionally called RC4-drop.",
+ "infoURL": "https://wikipedia.org/wiki/RC4#Fluhrer,_Mantin_and_Shamir_attack",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Passphrase",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Latin1",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Latin1",
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Output format",
+ "type": "option",
+ "value": [
+ "Latin1",
+ "UTF8",
+ "UTF16",
+ "UTF16LE",
+ "UTF16BE",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Number of dwords to drop",
+ "type": "number",
+ "value": 192
+ }
+ ]
+ },
+ "RIPEMD": {
+ "module": "Crypto",
+ "description": "RIPEMD (RACE Integrity Primitives Evaluation Message Digest) is a family of cryptographic hash functions developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996.
RIPEMD was based upon the design principles used in MD4, and is similar in performance to the more popular SHA-1.
",
+ "infoURL": "https://wikipedia.org/wiki/RIPEMD",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Size",
+ "type": "option",
+ "value": [
+ "320",
+ "256",
+ "160",
+ "128"
+ ]
+ }
+ ]
+ },
+ "ROT13": {
+ "module": "Default",
+ "description": "A simple caesar substitution cipher which rotates alphabet characters by the specified amount (default 13).",
+ "infoURL": "https://wikipedia.org/wiki/ROT13",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Rotate lower case chars",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Rotate upper case chars",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Rotate numbers",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Amount",
+ "type": "number",
+ "value": 13
+ }
+ ]
+ },
+ "ROT13 Brute Force": {
+ "module": "Default",
+ "description": "Try all meaningful amounts for ROT13.
Optionally you can enter your known plaintext (crib) to filter the result.",
+ "infoURL": "https://wikipedia.org/wiki/ROT13",
+ "inputType": "byteArray",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Rotate lower case chars",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Rotate upper case chars",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Rotate numbers",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Sample length",
+ "type": "number",
+ "value": 100
+ },
+ {
+ "name": "Sample offset",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Print amount",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Crib (known plaintext string)",
+ "type": "string",
+ "value": ""
+ }
+ ]
+ },
+ "ROT47": {
+ "module": "Default",
+ "description": "A slightly more complex variation of a caesar cipher, which includes ASCII characters from 33 '!' to 126 '~'. Default rotation: 47.",
+ "infoURL": "https://wikipedia.org/wiki/ROT13#Variants",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Amount",
+ "type": "number",
+ "value": 47
+ }
+ ]
+ },
+ "ROT47 Brute Force": {
+ "module": "Default",
+ "description": "Try all meaningful amounts for ROT47.
Optionally you can enter your known plaintext (crib) to filter the result.",
+ "infoURL": "https://wikipedia.org/wiki/ROT13#Variants",
+ "inputType": "byteArray",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample length",
+ "type": "number",
+ "value": 100
+ },
+ {
+ "name": "Sample offset",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Print amount",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Crib (known plaintext string)",
+ "type": "string",
+ "value": ""
+ }
+ ]
+ },
+ "ROT8000": {
+ "module": "Default",
+ "description": "The simple Caesar-cypher encryption that replaces each Unicode character with the one 0x8000 places forward or back along the alphabet.",
+ "infoURL": "https://rot8000.com/info",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "RSA Decrypt": {
+ "module": "Ciphers",
+ "description": "Decrypt an RSA encrypted message with a PEM encoded private key.",
+ "infoURL": "https://wikipedia.org/wiki/RSA_(cryptosystem)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "RSA Private Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN RSA PRIVATE KEY-----"
+ },
+ {
+ "name": "Key Password",
+ "type": "text",
+ "value": ""
+ },
+ {
+ "name": "Encryption Scheme",
+ "type": "argSelector",
+ "value": [
+ {
+ "name": "RSA-OAEP",
+ "on": [
+ 3
+ ]
+ },
+ {
+ "name": "RSAES-PKCS1-V1_5",
+ "off": [
+ 3
+ ]
+ },
+ {
+ "name": "RAW",
+ "off": [
+ 3
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-1",
+ "MD5",
+ "SHA-256",
+ "SHA-384",
+ "SHA-512"
+ ]
+ }
+ ]
+ },
+ "RSA Encrypt": {
+ "module": "Ciphers",
+ "description": "Encrypt a message with a PEM encoded RSA public key.",
+ "infoURL": "https://wikipedia.org/wiki/RSA_(cryptosystem)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "RSA Public Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN RSA PUBLIC KEY-----"
+ },
+ {
+ "name": "Encryption Scheme",
+ "type": "argSelector",
+ "value": [
+ {
+ "name": "RSA-OAEP",
+ "on": [
+ 2
+ ]
+ },
+ {
+ "name": "RSAES-PKCS1-V1_5",
+ "off": [
+ 2
+ ]
+ },
+ {
+ "name": "RAW",
+ "off": [
+ 2
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-1",
+ "MD5",
+ "SHA-256",
+ "SHA-384",
+ "SHA-512"
+ ]
+ }
+ ]
+ },
+ "RSA Sign": {
+ "module": "Ciphers",
+ "description": "Sign a plaintext message with a PEM encoded RSA key.",
+ "infoURL": "https://wikipedia.org/wiki/RSA_(cryptosystem)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "RSA Private Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN RSA PRIVATE KEY-----"
+ },
+ {
+ "name": "Key Password",
+ "type": "text",
+ "value": ""
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-1",
+ "MD5",
+ "SHA-256",
+ "SHA-384",
+ "SHA-512"
+ ]
+ }
+ ]
+ },
+ "RSA Verify": {
+ "module": "Ciphers",
+ "description": "Verify a message against a signature and a public PEM encoded RSA key.",
+ "infoURL": "https://wikipedia.org/wiki/RSA_(cryptosystem)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "RSA Public Key (PEM)",
+ "type": "text",
+ "value": "-----BEGIN RSA PUBLIC KEY-----"
+ },
+ {
+ "name": "Message",
+ "type": "text",
+ "value": ""
+ },
+ {
+ "name": "Message format",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Message Digest Algorithm",
+ "type": "option",
+ "value": [
+ "SHA-1",
+ "MD5",
+ "SHA-256",
+ "SHA-384",
+ "SHA-512"
+ ]
+ }
+ ]
+ },
+ "Rabbit": {
+ "module": "Ciphers",
+ "description": "Rabbit is a high-speed stream cipher introduced in 2003 and defined in RFC 4503.
The cipher uses a 128-bit key and an optional 64-bit initialization vector (IV).
big-endian: based on RFC4503 and RFC3447
little-endian: compatible with Crypto++",
+ "infoURL": "https://wikipedia.org/wiki/Rabbit_(cipher)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "IV",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Endianness",
+ "type": "option",
+ "value": [
+ "Big",
+ "Little"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "Rail Fence Cipher Decode": {
+ "module": "Ciphers",
+ "description": "Decodes Strings that were created using the Rail fence Cipher provided a key and an offset",
+ "infoURL": "https://wikipedia.org/wiki/Rail_fence_cipher",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "number",
+ "value": 2
+ },
+ {
+ "name": "Offset",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Rail Fence Cipher Encode": {
+ "module": "Ciphers",
+ "description": "Encodes Strings using the Rail fence Cipher provided a key and an offset",
+ "infoURL": "https://wikipedia.org/wiki/Rail_fence_cipher",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "number",
+ "value": 2
+ },
+ {
+ "name": "Offset",
+ "type": "number",
+ "value": 0
+ }
+ ]
+ },
+ "Randomize Colour Palette": {
+ "module": "Image",
+ "description": "Randomizes each colour in an image's colour palette. This can often reveal text or symbols that were previously a very similar colour to their surroundings, a technique sometimes used in Steganography.",
+ "infoURL": "https://wikipedia.org/wiki/Indexed_color",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Seed",
+ "type": "string",
+ "value": ""
+ }
+ ]
+ },
+ "Raw Deflate": {
+ "module": "Compression",
+ "description": "Compresses data using the deflate algorithm with no headers.",
+ "infoURL": "https://wikipedia.org/wiki/DEFLATE",
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Compression type",
+ "type": "option",
+ "value": [
+ "Dynamic Huffman Coding",
+ "Fixed Huffman Coding",
+ "None (Store)"
+ ]
+ }
+ ]
+ },
+ "Raw Inflate": {
+ "module": "Compression",
+ "description": "Decompresses data which has been compressed using the deflate algorithm with no headers.",
+ "infoURL": "https://wikipedia.org/wiki/DEFLATE",
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Start index",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Initial output buffer size",
+ "type": "number",
+ "value": 0
+ },
+ {
+ "name": "Buffer expansion type",
+ "type": "option",
+ "value": [
+ "Adaptive",
+ "Block"
+ ]
+ },
+ {
+ "name": "Resize buffer after decompression",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Verify result",
+ "type": "boolean",
+ "value": false
+ }
+ ],
+ "checks": [
+ {
+ "entropyRange": [
+ 7.5,
+ 8
+ ],
+ "args": [
+ 0,
+ 0,
+ [
+ "Adaptive",
+ "Block"
+ ],
+ false,
+ false
+ ]
+ }
+ ]
+ },
+ "Register": {
+ "module": "Regex",
+ "description": "Extract data from the input and store it in registers which can then be passed into subsequent operations as arguments. Regular expression capture groups are used to select the data to extract.
To use registers in arguments, refer to them using the notation $Rn where n is the register number, starting at 0.
For example:
Input: Test
Extractor: (.*)
Argument: $R0 becomes Test
Registers can be escaped in arguments using a backslash. e.g. \\$R0 would become $R0 rather than Test.",
+ "infoURL": "https://wikipedia.org/wiki/Regular_expression#Syntax",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": true,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Extractor",
+ "type": "binaryString",
+ "value": "([\\s\\S]*)"
+ },
+ {
+ "name": "Case insensitive",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Multiline matching",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Dot matches all",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Regular expression": {
+ "module": "Regex",
+ "description": "Define your own regular expression (regex) to search the input data with, optionally choosing from a list of pre-defined patterns.
Supports extended regex syntax including the 'dot matches all' flag, named capture groups, full unicode coverage (including \\p{} categories and scripts as well as astral codes) and recursive matching.",
+ "infoURL": "https://wikipedia.org/wiki/Regular_expression",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Built in regexes",
+ "type": "populateOption",
+ "value": [
+ {
+ "name": "User defined",
+ "value": ""
+ },
+ {
+ "name": "IPv4 address",
+ "value": "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?"
+ },
+ {
+ "name": "IPv6 address",
+ "value": "((?=.*::)(?!.*::.+::)(::)?([\\dA-Fa-f]{1,4}:(:|\\b)|){5}|([\\dA-Fa-f]{1,4}:){6})((([\\dA-Fa-f]{1,4}((?!\\3)::|:\\b|(?![\\dA-Fa-f])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"
+ },
+ {
+ "name": "Email address",
+ "value": "(?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9](?:[\\u00A0-\\uD7FF\\uE000-\\uFFFF-a-z0-9-]*[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9])?\\.)+[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9](?:[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9-]*[\\u00A0-\\uD7FF\\uE000-\\uFFFFa-z0-9])?|\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}\\])"
+ },
+ {
+ "name": "URL",
+ "value": "([A-Za-z]+://)([-\\w]+(?:\\.\\w[-\\w]*)+)(:\\d+)?(/[^.!,?\"<>\\[\\]{}\\s\\x7F-\\xFF]*(?:[.!,?]+[^.!,?\"<>\\[\\]{}\\s\\x7F-\\xFF]+)*)?"
+ },
+ {
+ "name": "Domain",
+ "value": "\\b((?=[a-z0-9-]{1,63}\\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,63}\\b"
+ },
+ {
+ "name": "Windows file path",
+ "value": "([A-Za-z]):\\\\((?:[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)~]{0,61}\\\\?)*[A-Za-z\\d][A-Za-z\\d\\- \\x27_\\(\\)]{0,61})(\\.[A-Za-z\\d]{1,6})?"
+ },
+ {
+ "name": "UNIX file path",
+ "value": "(?:/[A-Za-z\\d.][A-Za-z\\d\\-.]{0,61})+"
+ },
+ {
+ "name": "MAC address",
+ "value": "[A-Fa-f\\d]{2}(?:[:-][A-Fa-f\\d]{2}){5}"
+ },
+ {
+ "name": "UUID",
+ "value": "[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}"
+ },
+ {
+ "name": "Date (yyyy-mm-dd)",
+ "value": "((?:19|20)\\d\\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])"
+ },
+ {
+ "name": "Date (dd/mm/yyyy)",
+ "value": "(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((?:19|20)\\d\\d)"
+ },
+ {
+ "name": "Date (mm/dd/yyyy)",
+ "value": "(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((?:19|20)\\d\\d)"
+ },
+ {
+ "name": "Strings",
+ "value": "[A-Za-z\\d/\\-:.,_$%\\x27\"()<>= !\\[\\]{}@]{4,}"
+ }
+ ],
+ "target": 1
+ },
+ {
+ "name": "Regex",
+ "type": "text",
+ "value": ""
+ },
+ {
+ "name": "Case insensitive",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "^ and $ match at newlines",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Dot matches all",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Unicode support",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Astral support",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Display total",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Output format",
+ "type": "option",
+ "value": [
+ "Highlight matches",
+ "List matches",
+ "List capture groups",
+ "List matches with capture groups"
+ ]
+ }
+ ]
+ },
+ "Remove Diacritics": {
+ "module": "Default",
+ "description": "Replaces accented characters with their latin character equivalent. Accented characters are made up of Unicode combining characters, so unicode text formatting such as strikethroughs and underlines will also be removed.",
+ "infoURL": "https://wikipedia.org/wiki/Diacritic",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Remove EXIF": {
+ "module": "Image",
+ "description": "Removes EXIF data from a JPEG image.\n
\nEXIF data embedded in photos usually contains information about the image file itself as well as the device used to create it.",
+ "infoURL": "https://wikipedia.org/wiki/Exif",
+ "inputType": "ArrayBuffer",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Remove line numbers": {
+ "module": "Default",
+ "description": "Removes line numbers from the output if they can be trivially detected.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Remove null bytes": {
+ "module": "Default",
+ "description": "Removes all null bytes (0x00) from the input.",
+ "infoURL": null,
+ "inputType": "ArrayBuffer",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Remove whitespace": {
+ "module": "Default",
+ "description": "Optionally removes all spaces, carriage returns, line feeds, tabs and form feeds from the input data.
This operation also supports the removal of full stops which are sometimes used to represent non-printable bytes in ASCII output.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Spaces",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Carriage returns (\\r)",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Line feeds (\\n)",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Tabs",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Form feeds (\\f)",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Full stops",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Render Image": {
+ "module": "Image",
+ "description": "Displays the input as an image. Supports the following formats:
- jpg/jpeg
- png
- gif
- webp
- bmp
- ico
",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Base64",
+ "Hex"
+ ]
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "^(?:\\xff\\xd8\\xff|\\x89\\x50\\x4e\\x47|\\x47\\x49\\x46|.{8}\\x57\\x45\\x42\\x50|\\x42\\x4d)",
+ "flags": "",
+ "args": [
+ "Raw"
+ ],
+ "useful": true,
+ "output": {
+ "mime": "image"
+ }
+ }
+ ]
+ },
+ "Render Markdown": {
+ "module": "Code",
+ "description": "Renders input Markdown as HTML. HTML rendering is disabled to avoid XSS.",
+ "infoURL": "https://wikipedia.org/wiki/Markdown",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Autoconvert URLs to links",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Enable syntax highlighting",
+ "type": "boolean",
+ "value": true
+ }
+ ]
+ },
+ "Resize Image": {
+ "module": "Image",
+ "description": "Resizes an image to the specified width and height values.",
+ "infoURL": "https://wikipedia.org/wiki/Image_scaling",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Width",
+ "type": "number",
+ "value": 100,
+ "min": 1
+ },
+ {
+ "name": "Height",
+ "type": "number",
+ "value": 100,
+ "min": 1
+ },
+ {
+ "name": "Unit type",
+ "type": "option",
+ "value": [
+ "Pixels",
+ "Percent"
+ ]
+ },
+ {
+ "name": "Maintain aspect ratio",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Resizing algorithm",
+ "type": "option",
+ "value": [
+ "Nearest Neighbour",
+ "Bilinear",
+ "Bicubic",
+ "Hermite",
+ "Bezier"
+ ],
+ "defaultIndex": 1
+ }
+ ]
+ },
+ "Return": {
+ "module": "Default",
+ "description": "End execution of operations at this point in the recipe.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": true,
+ "manualBake": false,
+ "args": []
+ },
+ "Reverse": {
+ "module": "Default",
+ "description": "Reverses the input string.",
+ "infoURL": null,
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "By",
+ "type": "option",
+ "value": [
+ "Byte",
+ "Character",
+ "Line"
+ ],
+ "defaultIndex": 1
+ }
+ ]
+ },
+ "Rison Decode": {
+ "module": "Encodings",
+ "description": "Rison, a data serialization format optimized for compactness in URIs. Rison is a slight variation of JSON that looks vastly superior after URI encoding. Rison still expresses exactly the same set of data structures as JSON, so data can be translated back and forth without loss or guesswork.",
+ "infoURL": "https://github.com/Nanonid/rison",
+ "inputType": "string",
+ "outputType": "JSON",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Decode Option",
+ "type": "editableOption",
+ "value": [
+ "Decode",
+ "Decode Object",
+ "Decode Array"
+ ]
+ }
+ ]
+ },
+ "Rison Encode": {
+ "module": "Encodings",
+ "description": "Rison, a data serialization format optimized for compactness in URIs. Rison is a slight variation of JSON that looks vastly superior after URI encoding. Rison still expresses exactly the same set of data structures as JSON, so data can be translated back and forth without loss or guesswork.",
+ "infoURL": "https://github.com/Nanonid/rison",
+ "inputType": "JSON",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Encode Option",
+ "type": "option",
+ "value": [
+ "Encode",
+ "Encode Object",
+ "Encode Array",
+ "Encode URI"
+ ]
+ }
+ ]
+ },
+ "Rotate Image": {
+ "module": "Image",
+ "description": "Rotates an image by the specified number of degrees.",
+ "infoURL": "",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Rotation amount (degrees)",
+ "type": "number",
+ "value": 90
+ }
+ ]
+ },
+ "Rotate left": {
+ "module": "Default",
+ "description": "Rotates each byte to the left by the number of bits specified, optionally carrying the excess bits over to the next byte. Currently only supports 8-bit values.",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#Bit_shifts",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Amount",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Carry through",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Rotate right": {
+ "module": "Default",
+ "description": "Rotates each byte to the right by the number of bits specified, optionally carrying the excess bits over to the next byte. Currently only supports 8-bit values.",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#Bit_shifts",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Amount",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Carry through",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "SHA0": {
+ "module": "Crypto",
+ "description": "SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1. The message digest algorithm consists, by default, of 80 rounds.",
+ "infoURL": "https://wikipedia.org/wiki/SHA-1#SHA-0",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 80,
+ "min": 16
+ }
+ ]
+ },
+ "SHA1": {
+ "module": "Crypto",
+ "description": "The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.
However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved. The message digest algorithm consists, by default, of 80 rounds.",
+ "infoURL": "https://wikipedia.org/wiki/SHA-1",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 80,
+ "min": 16
+ }
+ ]
+ },
+ "SHA2": {
+ "module": "Crypto",
+ "description": "The SHA-2 (Secure Hash Algorithm 2) hash functions were designed by the NSA. SHA-2 includes significant changes from its predecessor, SHA-1. The SHA-2 family consists of hash functions with digests (hash values) that are 224, 256, 384 or 512 bits: SHA224, SHA256, SHA384, SHA512.
- SHA-512 operates on 64-bit words.
- SHA-256 operates on 32-bit words.
- SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.
- SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.
- SHA-512/224 and SHA-512/256 are truncated versions of SHA-512, but the initial values are generated using the method described in Federal Information Processing Standards (FIPS) PUB 180-4.
The message digest algorithm for SHA256 variants consists, by default, of 64 rounds, and for SHA512 variants, it is, by default, 160.",
+ "infoURL": "https://wikipedia.org/wiki/SHA-2",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Size",
+ "type": "argSelector",
+ "value": [
+ {
+ "name": "512",
+ "on": [
+ 2
+ ],
+ "off": [
+ 1
+ ]
+ },
+ {
+ "name": "384",
+ "on": [
+ 2
+ ],
+ "off": [
+ 1
+ ]
+ },
+ {
+ "name": "256",
+ "on": [
+ 1
+ ],
+ "off": [
+ 2
+ ]
+ },
+ {
+ "name": "224",
+ "on": [
+ 1
+ ],
+ "off": [
+ 2
+ ]
+ },
+ {
+ "name": "512/256",
+ "on": [
+ 2
+ ],
+ "off": [
+ 1
+ ]
+ },
+ {
+ "name": "512/224",
+ "on": [
+ 2
+ ],
+ "off": [
+ 1
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 64,
+ "min": 16
+ },
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 160,
+ "min": 32
+ }
+ ]
+ },
+ "SHA3": {
+ "module": "Crypto",
+ "description": "The SHA-3 (Secure Hash Algorithm 3) hash functions were released by NIST on August 5, 2015. Although part of the same series of standards, SHA-3 is internally quite different from the MD5-like structure of SHA-1 and SHA-2.
SHA-3 is a subset of the broader cryptographic primitive family Keccak designed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche, building upon RadioGatún.",
+ "infoURL": "https://wikipedia.org/wiki/SHA-3",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Size",
+ "type": "option",
+ "value": [
+ "512",
+ "384",
+ "256",
+ "224"
+ ]
+ }
+ ]
+ },
+ "SIGABA": {
+ "module": "Bletchley",
+ "description": "Encipher/decipher with the WW2 SIGABA machine.
SIGABA, otherwise known as ECM Mark II, was used by the United States for message encryption during WW2 up to the 1950s. It was developed in the 1930s by the US Army and Navy, and has up to this day never been broken. Consisting of 15 rotors: 5 cipher rotors and 10 rotors (5 control rotors and 5 index rotors) controlling the stepping of the cipher rotors, the rotor stepping for SIGABA is much more complex than other rotor machines of its time, such as Enigma. All example rotor wirings are random example sets.
To configure rotor wirings, for the cipher and control rotors enter a string of letters which map from A to Z, and for the index rotors enter a sequence of numbers which map from 0 to 9. Note that encryption is not the same as decryption, so first choose the desired mode.
Note: Whilst this has been tested against other software emulators, it has not been tested against hardware.",
+ "infoURL": "https://wikipedia.org/wiki/SIGABA",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "1st (left-hand) cipher rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "1st cipher rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "1st cipher rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "2nd cipher rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "2nd cipher rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "2nd cipher rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "3rd (middle) cipher rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "3rd cipher rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "3rd cipher rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "4th cipher rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "4th cipher rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "4th cipher rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "5th (right-hand) cipher rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "5th cipher rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "5th cipher rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "1st (left-hand) control rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "1st control rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "1st control rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "2nd control rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "2nd control rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "2nd control rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "3rd (middle) control rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "3rd control rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "3rd control rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "4th control rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "4th control rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "4th control rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "5th (right-hand) control rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "SRGWANHPJZFXVIDQCEUKBYOLMT"
+ },
+ {
+ "name": "Example 2",
+ "value": "THQEFSAZVKJYULBODCPXNIMWRG"
+ },
+ {
+ "name": "Example 3",
+ "value": "XDTUYLEVFNQZBPOGIRCSMHWKAJ"
+ },
+ {
+ "name": "Example 4",
+ "value": "LOHDMCWUPSTNGVXYFJREQIKBZA"
+ },
+ {
+ "name": "Example 5",
+ "value": "ERXWNZQIJYLVOFUMSGHTCKPBDA"
+ },
+ {
+ "name": "Example 6",
+ "value": "FQECYHJIOUMDZVPSLKRTGWXBAN"
+ },
+ {
+ "name": "Example 7",
+ "value": "TBYIUMKZDJSOPEWXVANHLCFQGR"
+ },
+ {
+ "name": "Example 8",
+ "value": "QZUPDTFNYIAOMLEBWJXCGHKRSV"
+ },
+ {
+ "name": "Example 9",
+ "value": "CZWNHEMPOVXLKRSIDGJFYBTQAU"
+ },
+ {
+ "name": "Example 10",
+ "value": "ENPXJVKYQBFZTICAGMOHWRLDUS"
+ }
+ ]
+ },
+ {
+ "name": "5th control rotor reversed",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "5th control rotor initial value",
+ "type": "option",
+ "value": [
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+ ]
+ },
+ {
+ "name": "1st (left-hand) index rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "6201348957"
+ },
+ {
+ "name": "Example 2",
+ "value": "6147253089"
+ },
+ {
+ "name": "Example 3",
+ "value": "8239647510"
+ },
+ {
+ "name": "Example 4",
+ "value": "7194835260"
+ },
+ {
+ "name": "Example 5",
+ "value": "4873205916"
+ }
+ ]
+ },
+ {
+ "name": "1st index rotor initial value",
+ "type": "option",
+ "value": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ]
+ },
+ {
+ "name": "2nd index rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "6201348957"
+ },
+ {
+ "name": "Example 2",
+ "value": "6147253089"
+ },
+ {
+ "name": "Example 3",
+ "value": "8239647510"
+ },
+ {
+ "name": "Example 4",
+ "value": "7194835260"
+ },
+ {
+ "name": "Example 5",
+ "value": "4873205916"
+ }
+ ]
+ },
+ {
+ "name": "2nd index rotor initial value",
+ "type": "option",
+ "value": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ]
+ },
+ {
+ "name": "3rd (middle) index rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "6201348957"
+ },
+ {
+ "name": "Example 2",
+ "value": "6147253089"
+ },
+ {
+ "name": "Example 3",
+ "value": "8239647510"
+ },
+ {
+ "name": "Example 4",
+ "value": "7194835260"
+ },
+ {
+ "name": "Example 5",
+ "value": "4873205916"
+ }
+ ]
+ },
+ {
+ "name": "3rd index rotor initial value",
+ "type": "option",
+ "value": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ]
+ },
+ {
+ "name": "4th index rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "6201348957"
+ },
+ {
+ "name": "Example 2",
+ "value": "6147253089"
+ },
+ {
+ "name": "Example 3",
+ "value": "8239647510"
+ },
+ {
+ "name": "Example 4",
+ "value": "7194835260"
+ },
+ {
+ "name": "Example 5",
+ "value": "4873205916"
+ }
+ ]
+ },
+ {
+ "name": "4th index rotor initial value",
+ "type": "option",
+ "value": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ]
+ },
+ {
+ "name": "5th (right-hand) index rotor",
+ "type": "editableOption",
+ "value": [
+ {
+ "name": "Example 1",
+ "value": "6201348957"
+ },
+ {
+ "name": "Example 2",
+ "value": "6147253089"
+ },
+ {
+ "name": "Example 3",
+ "value": "8239647510"
+ },
+ {
+ "name": "Example 4",
+ "value": "7194835260"
+ },
+ {
+ "name": "Example 5",
+ "value": "4873205916"
+ }
+ ]
+ },
+ {
+ "name": "5th index rotor initial value",
+ "type": "option",
+ "value": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9"
+ ]
+ },
+ {
+ "name": "SIGABA mode",
+ "type": "option",
+ "value": [
+ "Encrypt",
+ "Decrypt"
+ ]
+ }
+ ]
+ },
+ "SM2 Decrypt": {
+ "module": "Crypto",
+ "description": "Decrypts a message utilizing the SM2 standard",
+ "infoURL": "",
+ "inputType": "string",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Private Key",
+ "type": "string",
+ "value": "DEADBEEF"
+ },
+ {
+ "name": "Input Format",
+ "type": "option",
+ "value": [
+ "C1C3C2",
+ "C1C2C3"
+ ]
+ },
+ {
+ "name": "Curve",
+ "type": "option",
+ "value": [
+ "sm2p256v1"
+ ]
+ }
+ ]
+ },
+ "SM2 Encrypt": {
+ "module": "Crypto",
+ "description": "Encrypts a message utilizing the SM2 standard",
+ "infoURL": "",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Public Key X",
+ "type": "string",
+ "value": "DEADBEEF"
+ },
+ {
+ "name": "Public Key Y",
+ "type": "string",
+ "value": "DEADBEEF"
+ },
+ {
+ "name": "Output Format",
+ "type": "option",
+ "value": [
+ "C1C3C2",
+ "C1C2C3"
+ ]
+ },
+ {
+ "name": "Curve",
+ "type": "option",
+ "value": [
+ "sm2p256v1"
+ ]
+ }
+ ]
+ },
+ "SM3": {
+ "module": "Crypto",
+ "description": "SM3 is a cryptographic hash function used in the Chinese National Standard. SM3 is mainly used in digital signatures, message authentication codes, and pseudorandom number generators. The message digest algorithm consists, by default, of 64 rounds and length of 256.",
+ "infoURL": "https://wikipedia.org/wiki/SM3_(hash_function)",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Length",
+ "type": "number",
+ "value": 256
+ },
+ {
+ "name": "Rounds",
+ "type": "number",
+ "value": 64,
+ "min": 16
+ }
+ ]
+ },
+ "SM4 Decrypt": {
+ "module": "Ciphers",
+ "description": "SM4 is a 128-bit block cipher, currently established as a national standard (GB/T 32907-2016) of China.",
+ "infoURL": "https://wikipedia.org/wiki/SM4_(cipher)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "IV",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Mode",
+ "type": "option",
+ "value": [
+ "CBC",
+ "CFB",
+ "OFB",
+ "CTR",
+ "ECB",
+ "CBC/NoPadding",
+ "ECB/NoPadding"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "SM4 Encrypt": {
+ "module": "Ciphers",
+ "description": "SM4 is a 128-bit block cipher, currently established as a national standard (GB/T 32907-2016) of China. Multiple block cipher modes are supported. When using CBC or ECB mode, the PKCS#7 padding scheme is used.",
+ "infoURL": "https://wikipedia.org/wiki/SM4_(cipher)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "IV",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Mode",
+ "type": "option",
+ "value": [
+ "CBC",
+ "CFB",
+ "OFB",
+ "CTR",
+ "ECB"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ }
+ ]
+ },
+ "SQL Beautify": {
+ "module": "Code",
+ "description": "Indents and prettifies Structured Query Language (SQL) code.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Indent string",
+ "type": "binaryShortString",
+ "value": "\\t"
+ }
+ ]
+ },
+ "SQL Minify": {
+ "module": "Code",
+ "description": "Compresses Structured Query Language (SQL) code.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "SSDEEP": {
+ "module": "Crypto",
+ "description": "SSDEEP is a program for computing context triggered piecewise hashes (CTPH). Also called fuzzy hashes, CTPH can match inputs that have homologies. Such inputs have sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length.
SSDEEP hashes are now widely used for simple identification purposes (e.g. the 'Basic Properties' section in VirusTotal). Although 'better' fuzzy hashes are available, SSDEEP is still one of the primary choices because of its speed and being a de facto standard.
This operation is fundamentally the same as the CTPH operation, however their outputs differ in format.",
+ "infoURL": "https://forensics.wiki/ssdeep",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "SUB": {
+ "module": "Default",
+ "description": "SUB the input with the given key (e.g. fe023da5), MOD 255",
+ "infoURL": "https://wikipedia.org/wiki/Bitwise_operation#Bitwise_operators",
+ "inputType": "byteArray",
+ "outputType": "byteArray",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "Decimal",
+ "Binary",
+ "Base64",
+ "UTF8",
+ "Latin1"
+ ]
+ }
+ ]
+ },
+ "Salsa20": {
+ "module": "Ciphers",
+ "description": "Salsa20 is a stream cipher designed by Daniel J. Bernstein and submitted to the eSTREAM project; Salsa20/8 and Salsa20/12 are round-reduced variants. It is closely related to the ChaCha stream cipher.
Key: Salsa20 uses a key of 16 or 32 bytes (128 or 256 bits).
Nonce: Salsa20 uses a nonce of 8 bytes (64 bits).
Counter: Salsa uses a counter of 8 bytes (64 bits). The counter starts at zero at the start of the keystream, and is incremented at every 64 bytes.",
+ "infoURL": "https://wikipedia.org/wiki/Salsa20",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Key",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64"
+ ]
+ },
+ {
+ "name": "Nonce",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "UTF8",
+ "Latin1",
+ "Base64",
+ "Integer"
+ ]
+ },
+ {
+ "name": "Counter",
+ "type": "number",
+ "value": 0,
+ "min": 0
+ },
+ {
+ "name": "Rounds",
+ "type": "option",
+ "value": [
+ "20",
+ "12",
+ "8"
+ ]
+ },
+ {
+ "name": "Input",
+ "type": "option",
+ "value": [
+ "Hex",
+ "Raw"
+ ]
+ },
+ {
+ "name": "Output",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Hex"
+ ]
+ }
+ ]
+ },
+ "Scan for Embedded Files": {
+ "module": "Default",
+ "description": "Scans the data for potential embedded files by looking for magic bytes at all offsets. This operation is prone to false positives.
WARNING: Files over about 100KB in size will take a VERY long time to process.",
+ "infoURL": "https://wikipedia.org/wiki/List_of_file_signatures",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Images",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Video",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Audio",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Documents",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Applications",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Archives",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Miscellaneous",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Scatter chart": {
+ "module": "Charts",
+ "description": "Plots two-variable data as single points on a graph.",
+ "infoURL": "https://wikipedia.org/wiki/Scatter_plot",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Record delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "CRLF"
+ ]
+ },
+ {
+ "name": "Field delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Tab"
+ ]
+ },
+ {
+ "name": "Use column headers as labels",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "X label",
+ "type": "string",
+ "value": ""
+ },
+ {
+ "name": "Y label",
+ "type": "string",
+ "value": ""
+ },
+ {
+ "name": "Colour",
+ "type": "string",
+ "value": "black"
+ },
+ {
+ "name": "Point radius",
+ "type": "number",
+ "value": 10
+ },
+ {
+ "name": "Use colour from third column",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Scrypt": {
+ "module": "Crypto",
+ "description": "scrypt is a password-based key derivation function (PBKDF) created by Colin Percival. The algorithm was specifically designed to make it costly to perform large-scale custom hardware attacks by requiring large amounts of memory. In 2016, the scrypt algorithm was published by IETF as RFC 7914.
Enter the password in the input to generate its hash.",
+ "infoURL": "https://wikipedia.org/wiki/Scrypt",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Salt",
+ "type": "toggleString",
+ "value": "",
+ "toggleValues": [
+ "Hex",
+ "Base64",
+ "UTF8",
+ "Latin1"
+ ]
+ },
+ {
+ "name": "Iterations (N)",
+ "type": "number",
+ "value": 16384
+ },
+ {
+ "name": "Memory factor (r)",
+ "type": "number",
+ "value": 8
+ },
+ {
+ "name": "Parallelization factor (p)",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Key length",
+ "type": "number",
+ "value": 64
+ }
+ ]
+ },
+ "Series chart": {
+ "module": "Charts",
+ "description": "A time series graph is a line graph of repeated measurements taken over regular time intervals.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Record delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "CRLF"
+ ]
+ },
+ {
+ "name": "Field delimiter",
+ "type": "option",
+ "value": [
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Tab"
+ ]
+ },
+ {
+ "name": "X label",
+ "type": "string",
+ "value": ""
+ },
+ {
+ "name": "Point radius",
+ "type": "number",
+ "value": 1
+ },
+ {
+ "name": "Series colours",
+ "type": "string",
+ "value": "mediumseagreen, dodgerblue, tomato"
+ }
+ ]
+ },
+ "Set Difference": {
+ "module": "Default",
+ "description": "Calculates the difference, or relative complement, of two sets.",
+ "infoURL": "https://wikipedia.org/wiki/Complement_(set_theory)#Relative_complement",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample delimiter",
+ "type": "binaryString",
+ "value": "\\n\\n"
+ },
+ {
+ "name": "Item delimiter",
+ "type": "binaryString",
+ "value": ","
+ }
+ ]
+ },
+ "Set Intersection": {
+ "module": "Default",
+ "description": "Calculates the intersection of two sets.",
+ "infoURL": "https://wikipedia.org/wiki/Intersection_(set_theory)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample delimiter",
+ "type": "binaryString",
+ "value": "\\n\\n"
+ },
+ {
+ "name": "Item delimiter",
+ "type": "binaryString",
+ "value": ","
+ }
+ ]
+ },
+ "Set Union": {
+ "module": "Default",
+ "description": "Calculates the union of two sets.",
+ "infoURL": "https://wikipedia.org/wiki/Union_(set_theory)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Sample delimiter",
+ "type": "binaryString",
+ "value": "\\n\\n"
+ },
+ {
+ "name": "Item delimiter",
+ "type": "binaryString",
+ "value": ","
+ }
+ ]
+ },
+ "Shake": {
+ "module": "Crypto",
+ "description": "Shake is an Extendable Output Function (XOF) of the SHA-3 hash algorithm, part of the Keccak family, allowing for variable output length/size.",
+ "infoURL": "https://wikipedia.org/wiki/SHA-3#Instances",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Capacity",
+ "type": "option",
+ "value": [
+ "256",
+ "128"
+ ]
+ },
+ {
+ "name": "Size",
+ "type": "number",
+ "value": 512
+ }
+ ]
+ },
+ "Sharpen Image": {
+ "module": "Image",
+ "description": "Sharpens an image (Unsharp mask)",
+ "infoURL": "https://wikipedia.org/wiki/Unsharp_masking",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Radius",
+ "type": "number",
+ "value": 2,
+ "min": 1
+ },
+ {
+ "name": "Amount",
+ "type": "number",
+ "value": 1,
+ "min": 0,
+ "step": 0.1
+ },
+ {
+ "name": "Threshold",
+ "type": "number",
+ "value": 10,
+ "min": 0,
+ "max": 100
+ }
+ ]
+ },
+ "Show Base64 offsets": {
+ "module": "Default",
+ "description": "When a string is within a block of data and the whole block is Base64'd, the string itself could be represented in Base64 in three distinct ways depending on its offset within the block.
This operation shows all possible offsets for a given string so that each possible encoding can be considered.",
+ "infoURL": "https://wikipedia.org/wiki/Base64#Output_padding",
+ "inputType": "byteArray",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Alphabet",
+ "type": "binaryString",
+ "value": "A-Za-z0-9+/="
+ },
+ {
+ "name": "Show variable chars and padding",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Input format",
+ "type": "option",
+ "value": [
+ "Raw",
+ "Base64"
+ ]
+ }
+ ]
+ },
+ "Show on map": {
+ "module": "Hashing",
+ "description": "Displays co-ordinates on a slippy map.
Co-ordinates will be converted to decimal degrees before being shown on the map.
Supported formats:- Degrees Minutes Seconds (DMS)
- Degrees Decimal Minutes (DDM)
- Decimal Degrees (DD)
- Geohash
- Military Grid Reference System (MGRS)
- Ordnance Survey National Grid (OSNG)
- Universal Transverse Mercator (UTM)
This operation will not work offline.",
+ "infoURL": "https://osmfoundation.org/wiki/Terms_of_Use",
+ "inputType": "string",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Zoom Level",
+ "type": "number",
+ "value": 13
+ },
+ {
+ "name": "Input Format",
+ "type": "option",
+ "value": [
+ "Auto",
+ "Degrees Minutes Seconds",
+ "Degrees Decimal Minutes",
+ "Decimal Degrees",
+ "Geohash",
+ "Military Grid Reference System",
+ "Ordnance Survey National Grid",
+ "Universal Transverse Mercator"
+ ]
+ },
+ {
+ "name": "Input Delimiter",
+ "type": "option",
+ "value": [
+ "Auto",
+ "Direction Preceding",
+ "Direction Following",
+ "\\n",
+ "Comma",
+ "Semi-colon",
+ "Colon"
+ ]
+ }
+ ]
+ },
+ "Shuffle": {
+ "module": "Default",
+ "description": "Randomly reorders input elements.",
+ "infoURL": "https://wikipedia.org/wiki/Shuffling",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "CRLF",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Nothing (separate chars)"
+ ]
+ }
+ ]
+ },
+ "Sleep": {
+ "module": "Default",
+ "description": "Sleep causes the recipe to wait for a specified number of milliseconds before continuing execution.",
+ "infoURL": null,
+ "inputType": "ArrayBuffer",
+ "outputType": "ArrayBuffer",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Time (ms)",
+ "type": "number",
+ "value": 1000
+ }
+ ]
+ },
+ "Snefru": {
+ "module": "Crypto",
+ "description": "Snefru is a cryptographic hash function invented by Ralph Merkle in 1990 while working at Xerox PARC. The function supports 128-bit and 256-bit output. It was named after the Egyptian Pharaoh Sneferu, continuing the tradition of the Khufu and Khafre block ciphers.
The original design of Snefru was shown to be insecure by Eli Biham and Adi Shamir who were able to use differential cryptanalysis to find hash collisions. The design was then modified by increasing the number of iterations of the main pass of the algorithm from two to eight.",
+ "infoURL": "https://wikipedia.org/wiki/Snefru",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Size",
+ "type": "number",
+ "value": 128,
+ "min": 32,
+ "max": 480,
+ "step": 32
+ },
+ {
+ "name": "Rounds",
+ "type": "option",
+ "value": [
+ "8",
+ "4",
+ "2"
+ ]
+ }
+ ]
+ },
+ "Sort": {
+ "module": "Default",
+ "description": "Alphabetically sorts strings separated by the specified delimiter.
The IP address option supports IPv4 only.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "CRLF",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "Nothing (separate chars)"
+ ]
+ },
+ {
+ "name": "Reverse",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Order",
+ "type": "option",
+ "value": [
+ "Alphabetical (case sensitive)",
+ "Alphabetical (case insensitive)",
+ "IP address",
+ "Numeric",
+ "Numeric (hexadecimal)",
+ "Length"
+ ]
+ }
+ ]
+ },
+ "Split": {
+ "module": "Default",
+ "description": "Splits a string into sections around a given delimiter.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Split delimiter",
+ "type": "editableOptionShort",
+ "value": [
+ {
+ "name": "Comma",
+ "value": ","
+ },
+ {
+ "name": "Space",
+ "value": " "
+ },
+ {
+ "name": "Line feed",
+ "value": "\\n"
+ },
+ {
+ "name": "CRLF",
+ "value": "\\r\\n"
+ },
+ {
+ "name": "Semi-colon",
+ "value": ";"
+ },
+ {
+ "name": "Colon",
+ "value": ":"
+ },
+ {
+ "name": "Nothing (separate chars)",
+ "value": ""
+ }
+ ]
+ },
+ {
+ "name": "Join delimiter",
+ "type": "editableOptionShort",
+ "value": [
+ {
+ "name": "Line feed",
+ "value": "\\n"
+ },
+ {
+ "name": "CRLF",
+ "value": "\\r\\n"
+ },
+ {
+ "name": "Space",
+ "value": " "
+ },
+ {
+ "name": "Comma",
+ "value": ","
+ },
+ {
+ "name": "Semi-colon",
+ "value": ";"
+ },
+ {
+ "name": "Colon",
+ "value": ":"
+ },
+ {
+ "name": "Nothing (join chars)",
+ "value": ""
+ }
+ ]
+ }
+ ]
+ },
+ "Split Colour Channels": {
+ "module": "Image",
+ "description": "Splits the given image into its red, green and blue colour channels.",
+ "infoURL": "https://wikipedia.org/wiki/Channel_(digital_image)",
+ "inputType": "ArrayBuffer",
+ "outputType": "html",
+ "flowControl": false,
+ "manualBake": false,
+ "args": []
+ },
+ "Standard Deviation": {
+ "module": "Default",
+ "description": "Computes the standard deviation of a number list. If an item in the string is not a number it is excluded from the list.
e.g. 0x0a 8 .5 becomes 4.089281382128433",
+ "infoURL": "https://wikipedia.org/wiki/Standard_deviation",
+ "inputType": "string",
+ "outputType": "BigNumber",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Delimiter",
+ "type": "option",
+ "value": [
+ "Line feed",
+ "Space",
+ "Comma",
+ "Semi-colon",
+ "Colon",
+ "CRLF"
+ ]
+ }
+ ]
+ },
+ "Streebog": {
+ "module": "Hashing",
+ "description": "Streebog is a cryptographic hash function defined in the Russian national standard GOST R 34.11-2012 Information Technology – Cryptographic Information Security – Hash Function. It was created to replace an obsolete GOST hash function defined in the old standard GOST R 34.11-94, and as an asymmetric reply to SHA-3 competition by the US National Institute of Standards and Technology.",
+ "infoURL": "https://wikipedia.org/wiki/Streebog",
+ "inputType": "ArrayBuffer",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Digest length",
+ "type": "option",
+ "value": [
+ "256",
+ "512"
+ ]
+ }
+ ]
+ },
+ "Strings": {
+ "module": "Regex",
+ "description": "Extracts all strings from the input.",
+ "infoURL": "https://wikipedia.org/wiki/Strings_(Unix)",
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Encoding",
+ "type": "option",
+ "value": [
+ "Single byte",
+ "16-bit littleendian",
+ "16-bit bigendian",
+ "All"
+ ]
+ },
+ {
+ "name": "Minimum length",
+ "type": "number",
+ "value": 4
+ },
+ {
+ "name": "Match",
+ "type": "option",
+ "value": [
+ "[ASCII]",
+ "Alphanumeric + punctuation (A)",
+ "All printable chars (A)",
+ "Null-terminated strings (A)",
+ "[Unicode]",
+ "Alphanumeric + punctuation (U)",
+ "All printable chars (U)",
+ "Null-terminated strings (U)"
+ ]
+ },
+ {
+ "name": "Display total",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Sort",
+ "type": "boolean",
+ "value": false
+ },
+ {
+ "name": "Unique",
+ "type": "boolean",
+ "value": false
+ }
+ ]
+ },
+ "Strip HTML tags": {
+ "module": "Default",
+ "description": "Removes all HTML tags from the input.",
+ "infoURL": null,
+ "inputType": "string",
+ "outputType": "string",
+ "flowControl": false,
+ "manualBake": false,
+ "args": [
+ {
+ "name": "Remove indentation",
+ "type": "boolean",
+ "value": true
+ },
+ {
+ "name": "Remove excess line breaks",
+ "type": "boolean",
+ "value": true
+ }
+ ],
+ "checks": [
+ {
+ "pattern": "(