Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-monkey

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-monkey

A tool for inspecting, debugging and commanding Node applications through a web browser or SSH interface into your app

  • 1.0.0-beta.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
39
increased by21.88%
Maintainers
1
Weekly downloads
 
Created
Source

Node Monkey

A tool for inspecting, debugging and commanding Node applications through a web browser or SSH interface into your app.

Node Monkey runs a simple server (or attaches to your existing server) and uses Socket.IO to create a websocket connection between the browser and server. Its primary feature captures anything that would normally be logged to the terminal and passes it to the browser for inspection.

It is incredibly easy to get started (see Quick Usage below) but Node Monkey also provides additional features and significant flexibility for more advanced usage. You can actually SSH in to your app where Node Monkey will provide a command line interface to execute your own custom commands. This can be very useful for debugging, monitoring or otherwise controlling your application while it is running.

Contents

Motivation

The motivation for this project came from trying to debug a Node.js server I wrote that used websockets. I found it problematic trying to inspect objects with the terminal because the output was too large and not browsable. I tried using the built-in debugging that works with the Chrome Developer Tools plugin for Eclipse. Unfortunately, I ran into a problem where setting breakpoints to inspect objects would cause the server to stop responding to heartbeats thus causing the client to disconnect. This would entirely mess up my debugging efforts. All I really needed to do was have a good way to inspect objects.

I searched Google and found projects like node-inspector, which didn't work with the latest versions of Node, and node-codein which had many bugs. And neither worked with Firefox. So, Node Monkey was born!

Features

  • Log console output from your app to the browser console
    • Provides a stream for those using Bunyan (see here)
  • Provides SSH capability so you can get a shell into your app for inspection, debugging or controlling your app
  • Register commands for your application that can be executed from the browser console or the SSH interface

Installation

npm install --save node-monkey

If you're interested in testing experimental and upcoming features, run this instead:

npm install --save node-monkey@next

Quick Usage

Using NodeMonkey is designed to be extremely easy. All you have to do is include a line or two in your application. Anything that is logged to the console after this will show up in the browser console once connected. It captures the output to most console.* function calls and forwards the output to the browser for inspection.

let monkey = require('node-monkey')([options])

// Do this if you want to bind to the console and have all output directed to the browser
// Pass `true` to disable server side logging and only see output in the browser
monkey.attachConsole()

When you start your app you will see the following output:

Node Monkey listening at http://0.0.0.0:50500

To connect your browser simply go to the address it shows in your web browser (http://0.0.0.0:50500 in this case). If you change the default host and port bindings or pass in your own server be sure to adjust your URL accordingly. It will prompt you for a username and password. Until you setup a user the default is guest and guest.

If you provide your own server you can view output in the console of your own web application instead. To see how to provide your own server check out the documentation. You will need to include the following <script> tag in your HTML source to integrate Node Monkey output with your app:

<script type="text/javascript" src="http://0.0.0.0:50500/monkey.js"></script>

NOTE: You do NOT have to refresh the page when you restart your Node.js application to continue to receive output. Node Monkey will automatically reconnect.


LICENSE: MIT

Keywords

FAQs

Package last updated on 21 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc