Socket
Socket
Sign inDemoInstall

grunt-javascript-obfuscator

Package Overview
Dependencies
171
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    grunt-javascript-obfuscator

Obfuscates JavaScript files using amazing javascript-obfuscator.


Version published
Weekly downloads
573
decreased by-15.98%
Maintainers
1
Install size
7.83 kB
Created
Weekly downloads
 

Readme

Source

grunt-javascript-obfuscator

Build Status

Obfuscates JavaScript files using amazing javascript-obfuscator.

Conceal your logic and hide any data contained in the code. Please read documentation how to protect your code effectively. Basic protection:

Original code:

(function(){
    var variable = 'abc';
    console.log(variable);
})();

Protected code:

var _0xabf1 = [
    '\x61\x62\x63',
    '\x6c\x6f\x67'
];
(function() {
    var _0xe6fab6 = _0xabf1[0x0];
    console[_0xabf1[0x1]](_0xe6fab6);
}());

Special thanks for @sanex3339 for his outstanding javascript-obfuscator library.

Getting Started

This plugin requires Grunt >=0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin and javascript-obfuscator with this command:

npm install grunt-javascript-obfuscator javascript-obfuscator --save-dev

...javascript-obfuscator is defined as a peer dependency. In other words you can experiment with every version above 0.7.2.

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-javascript-obfuscator');

The "javascript_obfuscator" task

Overview

In your project's Gruntfile, add a section named javascript_obfuscator to the data object passed into grunt.initConfig().

grunt.initConfig({
  javascript_obfuscator: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

Options

Options are passed directly to javascript-obfuscator. Please visit documentation of the project for a complete list of options.

Usage Examples

Default Options

In this example, the default options are used to obfuscate scripts:

grunt.initConfig({
  javascript_obfuscator: {
    options: {
      /* Default options */
    },
    main: {
      files: {
        'dist/obfuscated.js': ['src/module1.js', 'src/module2.js']
      }
    }
  },
});
Custom Options

In this example, custom options are used to obfuscate scripts. debugProtection makes it almost impossible to use the console tab of the Developer Tools:

grunt.initConfig({
  javascript_obfuscator: {
    options: {
      debugProtection: true,
      debugProtectionInterval: true
    },
    main: {
      files: {
        'dist/obfuscated.js': ['src/module1.js', 'src/module2.js']
      }
    }
  },
});
Obfuscate and overwrite

In this example, source files are obfuscated and overwritten:

grunt.initConfig({
  javascript_obfuscator: {
    options: {
      /* Default options */
    },
    main: {
      src: ['src/module1.js', 'src/module2.js']
    }
  },
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2019-08-15 / v1.2.0 / Added source map support.
  • 2016-12-23 / v1.1.0 / Obfuscate and overwrite files without destination.
  • 2016-11-11 / v1.0.4 / Updated README.
  • 2016-11-09 / v1.0.3 / Updated README.
  • 2016-11-09 / v1.0.2 / Fixed examples.
  • 2016-11-09 / v1.0.1 / Relaxed peer dependencies.
  • 2016-11-08 / v1.0.0 / First release.

Keywords

FAQs

Last updated on 15 Aug 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc