2.0.1 • Published 7 years ago
ensandbox v2.0.1
NodeJS Sandbox
A nifty javascript sandbox for node.js. (If you wanna see the source, first npm i, then go into your node_modules folder) ((For any issues, please email, admin@cryogena.net))
Some features
- Can be used to execute untrusted code.
- Support for timeouts (e.g. prevent infinite loops)
- Support for memory errors (and memory errors)
- Handles errors gracefully
- Restricted code (cannot access node.js methods)
- Supports
console.logmethod - Supports interprocess messaging with the sandboxed code
Documentation
new jsSandbox(options)
options{Object} - Object of settings for the sandbox.timeout{Default:100} - Timeout in MS for the sandbox.globals{Default:{}} - Object with values to be global in the sandboxed code.autostart{Default:false} - Start the sandbox immediately instead of running.start().init{Default:(function() {})} -FunctionorStringof code to be run initially outside the sandbox before execution.code{Default:(function() {})} -FunctionorStringof code to be run in the sandbox.onStart{Default:(function() {})} -Functionthat is executed when the sandbox starts running the code.onStop{Default:(function() {})} -Functionthat is executed whenever the sandbox stops running, via error or.stop(), or stopped from inside the sandbox.onError{Default:(function() {})} -Functionthat is executed when an error occurs within the sandbox.onMessage{Default:(function(args) {})} -Functionthat is executed when the sandbox code usespostMessage.onOutput{Default:console.log} -console.logoutput of the sandbox.
- All
options are available as they are returned for changing when initialized.
jsSandbox#start() : bool
- Start the sandbox.
jsSandbox#stop() : bool
- Stop the sandbox.
jsSandbox#isRunning() : bool
- Check if the sandbox is started & running or not.
jsSandbox#postMessage(arg1, ...) : bool
arg1,...{Any} Send data/info into the sandbox, to be processed by the code.