poke-repl

Remote REPL client and server

Usage no npm install needed!

<script type="module">
  import pokeRepl from 'https://cdn.skypack.dev/poke-repl';
</script>

README

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.