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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@ushastoe/sshhelper

v1.0.2

Published

Terminal UI SSH manager for hosts, tunnels, and file transfer

Readme

SSHHelper

Terminal UI SSH manager on Node.js.

Features

  • Reads hosts from ~/.ssh/config
  • Shows host table in TUI (alias | url/hostname | port)
  • Supports Include directives and wildcard host patterns
  • Connects to selected host in the same terminal (ssh <host>)
  • Creates and manages background SSH tunnels:
    • Local forward (-L)
    • Remote forward (-R)
    • Dynamic SOCKS (-D)
  • Persists tunnel records and PIDs in ~/.sshhelper/state.json
  • Can stop previously started tunnels after app restart
  • Prepared for localization (English and Russian dictionaries included)

Install

npm install

Global CLI Install

# local source (from this folder)
npm i -g .

# from npm registry (after publish)
npm i -g @ushastoe/sshhelper

Command names: sshhelper, sshh

Run

npm start

Build Binaries

# Windows .exe
npm run build:win

# Linux executable
npm run build:linux

# Both
npm run build:all

Build artifacts are written to dist/.

Publish to npm

# 1) login once
npm login

# 2) check package contents/version
npm pack --dry-run

# 3) publish
npm publish

Package name is configured as @ushastoe/sshhelper (scoped public package).

Keybindings

  • Tab: switch focus (hosts/tunnels)
  • Enter or c: connect selected host
  • a: add tunnel
  • s: start selected tunnel
  • x: stop selected tunnel
  • d or Delete: delete selected tunnel record
  • e: run command on selected remote host (via SSH) and view its output
  • i: run ssh-copy-id for selected remote host
  • o: export SSHHelper config (tunnels + locale) to JSON file
  • p: import SSHHelper config from JSON file
  • r: reload hosts and tunnel statuses
  • l: switch UI language
  • q or Ctrl+C: quit

Notes

  • SSH options like ProxyJump, Host *, identities, and include-based defaults are resolved by your local ssh client.
  • Password mode uses SSH_ASKPASS and does not store passwords in state.
  • Tunnel logs are written to ~/.sshhelper/logs.
  • In step-by-step input dialogs: Enter = Next, Cancel closes the current dialog, and buttons are clickable with mouse.