New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

nsa

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nsa

networked status aggregator

latest
Source
npmnpm
Version
0.2.1
Version published
Maintainers
1
Created
Source

NSA

NSA sees all, because NSA is the Networked Status Aggregator.

The idea is simple: NSA sends hartbeat messages over network sockets (currently only UDP) and the nsa-server displays running services on a web interface (and, in the future, does other stuff with them).

NSA is as simple as possible: Clients just send heartbeats and the NSA Server displays new clients on the go.

NSA Client

Install

npm install nsa

Usage


var nsa = require("nsa");

var agency = new nsa({
	server: "udp6://[::1]:30826", // nsa server
	service: "example",           // service name; default: filename of main module
	node: "example",              // name of the node; default: hostname
	interval: "10s",              // interval between heartbeats
	secret: "verysecurestring"    // secret shared with nsa-server
});

/* send a single heartbeat */
agency.ping();

/* start sending heartbeats every $interval */
agency.start();

// stop sending heartbeats
agency.stop();

// tell the nsa server to stop caring about this service
agency.end();

// send data
agency.data({data:"json"});

// send structured data
agency.data([{
	id: "1",         // id for data set (required)
	value: 1,        // value or values (required)
	label: "foo",    // display label (optinal)
	vis: "bar",      // visualisation (optional): text, bar, chart, ring, icon, badge
	color: "#f00",   // color (depending on visualisation)
	unit: "%",       // unit (depending on visualisation)
	range: [0,100],  // value range (depending on visualisation)
	collect: 100,    // number of previous values to collect (depending on visualisation)
},{
	...
}]);

// set alert level
agency.alert(0);

Message Format

var message = [
	0,                 // message format version
	0,                 // message type (0=heartbeat,1=retire,2=data,3=alert, ...)
	0,                 // sequence number of message
	"example.service", // name of the service
	"example.host",    // name of the node
	10000,             // number of microseconds till next message
	[data]             // data (optional)
];

Message Types

  • 0 - Heartbeat Ping
  • 1 - Retire
  • 2 - Unstructured Data (Data Object in Data Field)
  • 3 - Alert (Level 0-5 in Data Field)
  • 4 - Authenticate ([hash,salt]) in Data Field
  • 5 - Structured Data (Array of Data Objects in Data Field)
  • 6 - Authentication Requst (Sent by Server, Challenge in Data Field)

Keywords

nsa

FAQs

Package last updated on 24 Sep 2018

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