proxbox
Transparently make system calls on remote machines.
proxbox allows you to sandbox your code and selectively run system calls on remote machines. For example you could use this to effortlessly proxy a net
socket or transparently access the fs
on another machine.
All communication between your and the remote machines is securely encrypted via the tls
module.
Installation
$ npm install proxbox
Should you plan on only using one part of proxbox (Proxy or Sandbox) in your environment you can also install the needed packages by only running one of these commands:
$ npm install proxbox-proxy
$ npm install proxbox-sandbox
API synopsis
proxbox
is a bundle of the packages proxbox-sandbox
(your machine) and probox-proxy
(the remote machine). For detailed API docs head over to the coresponding repos.
var proxbox = ;var Proxy = proxboxProxy;var Sandbox = proxboxSandbox; // ...is equivalent to... var Proxy = ;var Sandbox = ;
Example
// your-machine.js /** * Module dependencies. */var Sandbox = ; /** * Pre-configure sandbox. */Sandbox; /** * Just like require("./some-module.js"); */var someModule = ;
// some-module.js /** * Module dependencies. */var http = ; http;
// remote-machine.js /** * Module dependencies. */var Proxy = ; /** * Initialize a new Proxy. */var proxy = Proxy connection: host: "192.168.0.2" port: "1234" /** * Some possible additional parameters for a secure TLS/SSL connection. * http://nodejs.org/api/tls.html#tls_tls_connect_options_callback */ pfx: secureKeyOfRemoteMachine /** * Modules that are allowed to be "required" by the sandbox. */ modules: "http" "net" "dgram" "tls" "fs"; proxy; proxy;