goliatone / poke-repl

Remote REPL client and server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poke REPL

Remote REPL client and server

Getting Started

Install the module with: npm install poke-repl

const repl = new REPL(config);
repl.start();

Documentation

Firewall

Barebones IP firewall so you can limit connections to internal subnets. Use alongside with authentication.

Rules:

const config = {
    firewall: {
        rules: [
            { ip: '', subnet: 14, rule: 'ACCEPT' }
        ]
    }
};

Policy:

const config = {
    firewall: {
        policy: 'ACCEPT'
    }
};

Authentication

Currently it only supports basic auth.

const config = {
    auth: {
        seed: require('poke-repl/lib/utils').generateSeed(),
        enabled: true,
        users:[{
            username: 'admin', password: 'secret!'
        }]
    }
};

Examples

(Coming soon)

Roadmap

  • Make backoff mechanism, prevent too many connections.
  • Add firewall:
    • Monitor repeated connections from same remoteAddress.
  • Move auth to middleware:
    • Monitor repeated connections from same remoteAddress.
  • Move firewall to middleware.
  • Make banner a config option:
    • Ensure we can remove banner.
  • Collect all sockets, then repl.stop sockets.map sock.end.

Release History

  • 2016-08-16 v0.5.0 Remove unused dependencies
  • 2016-08-16 v0.4.0 Refactoring
  • 2016-08-09 v0.3.0 Added firewall
  • 2016-08-08 v0.2.0 Fix bug/typo
  • 2016-08-08 v0.1.0 initial release

License

Copyright (c) 2016 goliatone
Licensed under the MIT license.

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.

About

Remote REPL client and server

License:MIT License


Languages

Language:JavaScript 97.3%Language:Shell 2.7%