npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

osquery-rest-adapter

v0.1.0

Published

Visualize information about your OS (REST adapter for osquery compatible with Vega)

Downloads

9

Readme

REST adapter for osquery compatible with Vega

This adapter allows you to visualize information about your OS, for example see running processes, hardware devices or opened ports. It does that by making osquery data available as a REST endpoint. You can than browse and visualize the information using Voyager or Polestar.

PCI devices visualized using Voyager

Usage

Install: npm install -g osquery-rest-adapter

Run it: osquery-rest-adapter

Use different port (default is 8080): PORT=3003 osquery-rest-adapter

Prerequisites

  1. Install osquery (you do not need to run osqueryd, only osqueryi needs to be available)
  2. Download Voyager or Polestar
  3. In your Voyager or Polestar source in the file bower_components/vega-lite-ui/vlui.js change value of myriaRestto http://localhost:8080
  4. After opening Voyager or Polestar, select a dataset using Add a dataset from Myria

Standalone queries

This adapter is best used by visualization tools. But you can also use the REST endpoint directly.

Get list of available datasets

You can use optional q parameter for search.

curl localhost:8080/dataset/search?q=usb

[{
  "userName": "local",
  "programName": "osquery",
  "relationName": "usb_devices"
}]

Fetch a dataset

In this example we fetch list of usb_devices in the system.

curl localhost:8080/dataset/user-local/program-osquery/relation-usb_devices/data

Technical details

Voyager and Polestar use common components from vega-lite-ui that provide dataset loading functionality. One option is to load datasets from the Myria platform. This adapter works by providing small subset of API compatible with Myria so that vega-lite-ui can connect to it.

Warning! This adapter exposes information about your system, so make sure to configure your firewall if you want to use it in a public or untrusted network.

See also

  • Envdb is a web app that provides GUI for querying osquery. It helps you to browse and see the results in tables. An extra feature is that you can connect multiple machines to a cluster and run queries on all of them at the same time.
  • Dashiell is a web app that allows you to query osquery and also facter (which is internally used by Puppet).
  • osquery-node is an advanced osquery client for node.js. It also allows you to write custom plugins for osquery in javascript.
  • mysql-osquery-proxy allows you to use osquery with a mysql-compatible client.