Intercept is a fun tool designed to encode and decode messages using a coded word list so that they can be hidden inside communications like emails, SMS and tweets. It provides a flexible way to transform messages based on predefined patterns and permutations.
- Encode messages using a coded word list.
- Decode messages back to their original form.
- Support for custom code and word files you can even use books or other sources as code lists.
- Ability to specify a specific code list permutations or simply use a password and hash algorithm to create one for convenient encoding/decoding.
- Hide codes in a large body of text.
- Select codes from a code pallet so that commonly used letters are obfuscated.
To install the Intercept project, clone the repository and install the dependencies npm i
then build the library or client with npm run build
. The client can be ran by launching a terminal at the build folder (default ./cli/dist/cli/
) and running node intercept
. To use the common words list feature place a list of common words (example provided cli/common-words.txt
) in the same directory as the deployed CLI intercept.js file.
The library is provided for use in your applications. The Intercept CLI provides a way to prove the tool and has two main commands: encode and decode.
Encode a message using the coded words array. Options: -c, --codes The code words to use -cf, --code-file The file containing the coded words to use -ic, --ignore-common Ignore common words -w, --words The plain text words to use -wf, --word-file The file containing the plain text words to use -m, --message The message to encode or decode -mf, --message-file The file containing the message to encode or decode -pe, --permutation The direct permutation of the codes to use (will override password option) (default: "0") -p, --password The password to produce permutation of the codes to use (will be hashed) -ha, --password-hash The hash algorithm to use to modify the permutation (default: "sha512") -l, --lowercase All codes are treated as lowercase preventing e.g. "Sail" and "sail" from used as different codes (default: false) -lm, --limit The maximum multiple of codes to use (default: "4") -mc, --min-code-length The minimum length of a code (default: "3") -o, --output The file to output the encoded message to -h, --help display help for command
Decode a message using the coded words array.
Options: -c, --codes The code words to use -cf, --code-file The file containing the coded words to use -ic, --ignore-common Ignore common words -w, --words The plain text words to use -wf, --word-file The file containing the plain text words to use -m, --message The message to encode or decode -mf, --message-file The file containing the message to encode or decode -pe, --permutation The direct permutation of the codes to use (will override password option) (default: "0") -p, --password The password to produce permutation of the codes to use (will be hashed) -ha, --password-hash The hash algorithm to use to modify the permutation (default: "sha512") -l, --lowercase All codes are treated as lowercase preventing e.g. "Sail" and "sail" from used as different codes -lm, --limit The maximum multiple of codes to use (default: "4") -mc, --min-code-length The minimum length of a code (default: "3") -o, --output The file to output the decoded message to -h, --help display help for command
- Encoding Example
- Decoding Example
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes. .