jeffuscator

    1.2.3 • Public • Published

    Build Status

    Jeffuscator

    Obfuscate JavaScript by renaming all variables and methods to different variations of 'Jeff'. Inspired by this tweet from Evil Elon Musk.

    Example

    Before:

    var firstNum = 1;
    var secondNum = 2;
     
    var added = add(firstNum, secondNum);
     
    function add(a, b)
    {
        return a + b;
    }

    After:

    var jeff = 1;
    var jeffrey = 2;
     
    var jefferey = jeffeory(jeff, jeffrey);
     
    function jeffeory(jeffy, jefrey)
    {
        return jeffy + jefrey;
    }

    Installation

    Install Jeffuscator with NPM:

    npm install jeffuscator
    

    If you're only interested in the CLI functionality, you may wish to install globally.

    Usage

    You can import Jeffuscator into your project with:

    var Jeffuscator = require('jeffuscator');

    To Jeffuscate code, instantiate a new instance of the class with an input, then call the processFiles method. processFiles optionally accepts an output path.

    new Jeffuscator('path/to/my/files')
        .processFiles('path/to/output/folder')

    The input argument can be either a folder or a file. If passed a folder, it will process every .js file in that folder.

    The output path should always be a folder. Processed files will be saved to the output folder, retaining the same structure as the input folder.

    CLI Usage

    Once installed, you should be able to use Jeffuscator from the command line using the jeffuscate command:

    jeffuscate -i path/to/my/input -o path/to/my/output
    

    Under the Hood

    Jeffuscator makes use of a custom fork of UglifyJs v1 that switches out the normal string of characters used for obfuscation, with an array of different variations of the name Jeff.

    Install

    npm i jeffuscator

    DownloadsWeekly Downloads

    8

    Version

    1.2.3

    License

    MIT

    Unpacked Size

    32.9 kB

    Total Files

    21

    Last publish

    Collaborators

    • chrgriffin