File: //opt/bitninja-threat-hunting/node_modules/.bin/ebg
#!/usr/bin/env node
const rot13 = require('../index');
const keys = require('../keys/index');
const argv = require('minimist')(process.argv.slice(2));
const chalk = require('chalk');
const cowsay = require('cowsay');
if (argv['generate-keys']) {
const seed = argv.seed;
console.log(keys.generate(seed));
process.exit();
}
if (!argv._.length) {
const usageMessage = `
Usage: ebg13 [--generate-keys] [--seed seed] [--key key] message1 [message2 [...]]
--generate-keys - Generages a pair of assymetric keys to be used for encoding/deconding
--seed seed - uses the seed as the private key and calculates a public key from it
--key key - [optional] encoding/decoding key (it defaults to 13)
message1, message2, ... - a list of at least one message to be encoded/decoded
A non empty list og messages is required for encoding/decoding but is
not necessary when generating keys.
`;
console.log(cowsay.say({
text: usageMessage,
}));
process.exit(-1);
}
const key = argv.key || 13;
const encodedMessages = argv._.map(message => rot13(message, key));
encodedMessages.forEach(message => console.log(chalk.yellow(message)));