Search code examples
javascriptnode.jsgitcloneobfuscation

How to install the local version of Javascript Obfuscator.io?


There is https://obfuscator.io which is the Web UI of the Javascript Obfuscator by Timofey Kachalov

The project is available on Github : https://github.com/javascript-obfuscator/javascript-obfuscator-ui

I've tried "git clone" but I can't get it to work from local. Also I've tried all commands in the README.md but nothing.

Please, someone could give me detail of all the commands to get it work for me ? Is it possible to get local server name like http://obfuscator.local ? (instead of http://localhost:3000/)

Thank you


Solution

  • I tried after command as README.md showed

    git clone https://github.com/javascript-obfuscator/javascript-obfuscator-ui.git
    
    npm install
    npm run updatesemantic
    npm run webpack:dev
    
    node server.js
    

    But I got this answer:

    > [email protected] start /home/user/javascript-obfuscator-ui
    > node server.js
    
    internal/modules/cjs/loader.js:438
          throw e;
          ^
    
    Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './dist' is not defined by "exports" in /home/user/javascript-obfuscator-ui/node_modules/threads/package.json
        at throwExportsNotFound (internal/modules/esm/resolve.js:290:9)
        at packageExportsResolve (internal/modules/esm/resolve.js:513:3)
        at resolveExports (internal/modules/cjs/loader.js:432:36)
        at Function.Module._findPath (internal/modules/cjs/loader.js:472:31)
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:867:27)
        at Function.Module._load (internal/modules/cjs/loader.js:725:27)
        at Module.require (internal/modules/cjs/loader.js:952:19)
        at require (internal/modules/cjs/helpers.js:88:18)
        at Object.<anonymous> (/home/kim/javascript-obfuscator-ui/server.js:3:27)
        at Module._compile (internal/modules/cjs/loader.js:1063:30) {
      code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
    }
    

    The application runs after editing exports option of package.json like below at ./node_modules/threads/package.json.

    from:

     "exports": {
        "./": {
          "require": "./dist/index.js",
          "default": "./index.mjs"
        },
        "./observable": {
          "require": "./observable.js",
          "default": "./observable.mjs"
        },
        "./register": {
          "require": "./register.js",
          "default": "./register.mjs"
        },
        "./worker": {
          "require": "./worker.js",
          "default": "./worker.mjs"
        }
      },
    
    

    to:

      "exports": {
        "./dist": {
          "require": "./dist/index.js",
          "default": "./index.mjs"
        },
        "./observable": {
          "require": "./observable.js",
          "default": "./observable.mjs"
        },
        "./register": {
          "require": "./register.js",
          "default": "./register.mjs"
        },
        "./worker": {
          "require": "./worker.js",
          "default": "./worker.mjs"
        }
      },
    

    And I tried node server.js and the application runs on localhost:3000/. Maybe there is right solution. You can ask the question on this app's gitpage too(asking the author is better).