Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

node.js - Code Protection?

I want to use node.js in my next project, but my boss does not like that our competitors can read the source code.

Is there a way to protect the JavaScript code?

like image 333
Van Coding Avatar asked May 10 '11 14:05

Van Coding


People also ask

Is node js a security risk?

Node. js is one such technology that developers use for web application development. It is designed to be completely secure.

CAN node js be hacked?

Attackers are hijacking node package manager (NPM) accounts and using them to drop crypto-mining and credential-stealing malware onto Linux and Windows machines, according to an analysis from SophosLabs. NPM is the package manager for the Node JavaScript platform.


2 Answers

You could accomplish this with a NativeExtension for node

You'd have a boostrap.js file that adds a extension handler for .jse files

// register extension require.extensions[".jse"] = function (m) {  m.exports = MyNativeExtension.decrypt(fs.readFileSync(m.filename)); };  require("YourCode.jse"); 

YourCode.jse would be the encrypted version of your source code (the key for decryption wouldn't be anywhere in plain-text because the decryption process takes place in the native extension).

Now you have your NativeExtensions decrypt function transform the source back to javascript. Just have your build process create encrypted .jse versions of all your files and release those to your customers. They'd also need the native extension but now you've made it a little harder to modify your code without too much effort. You can even make the native extension call home and check license information to help prevent piracy (keep in mind this won't stop piracy, there's no solution for that).

like image 183
Christopher Tarquini Avatar answered Sep 24 '22 20:09

Christopher Tarquini


Just include a license agreement and give them the source code. They might want to customize it anyway.

like image 45
Mike Blandford Avatar answered Sep 26 '22 20:09

Mike Blandford