Encrypt and decrypt node files with a simple command-line, provides a wrapper to 'require' encrypted node modules
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
demo
lib
.gitignore
EUPL-1.1.txt
README.md
index.js
package.json

README.md

What's kruptos ?

  • Encrypt and decrypt node files with a simple command-line
  • Provides a wrapper to 'require' encrypted node modules (overrides the standard node Module class)

Goal

  • Encrypt node project files with a secret key
  • Easily execute an application that contains encrypted files without the need to decrypt the files before
  • Just pass the good '--key' argument to node when launching the app

Installation

The recommended way is through the excellent NPM:

$ npm install -g kruptos

Command line usage

Encrypt demo/module1.js and demo/module2.js with 'mysecretkey' key :

$ kruptos -e -k mysecretkey demo/module*.js

Decrypt demo/module1.js.encrypted and demo/module2.js.encrypted with 'mysecretkey' key :

$ kruptos -d -k mysecretkey demo/module*.encrypted

Module require usage

Simply add the kruptos module at the top of your main script (app.js for example) :

require('kruptos');

Run application as usual :

$ node app

Run application and encrypt all module dependencies :

$ node app --encrypt --key mysecretkey

Run application directly with encrypted module dependencies :

$ node app --key mysecretkey

Run application and decrypt all module dependencies :

$ node app --decrypt --key mysecretkey

Demo

Use the samples provided in the demo directory.

There are two encrypted modules based on sources directory.

Try to execute the main script, and see how it works :

$ node demo/main --key demokey

To decrypt the modules during the execution :

$ node demo/main --decrypt --key demokey

To encrypt the modules during the execution :

$ node demo/main --encrypt --key demokey

Enjoy !