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

@tovex/toast

v1.3.43

Published

One-command Raspberry Pi web terminal deployment via Cloudflare Tunnel. Auto-assigns tov-sysN device names and registers each device in a live registry at tov.<your-domain>.

Readme

@tovex/toast

One-command Raspberry Pi web terminal deployment with Cloudflare Tunnel.

Each run auto-assigns the next available tov-sysN name, deploys a full web terminal platform, and registers the device in a live fleet registry.

What it does

  1. Auto-names the device tov-sys1, tov-sys2, … (queries Cloudflare for existing tunnels)
  2. Creates a Cloudflare Tunnel and configures ingress to the local web terminal
  3. Sets DNStov-sysN.yourdomain.com as a proxied CNAME
  4. Deploys the device registry at tov.yourdomain.com (Cloudflare Worker + KV)
  5. Builds and installs rpi-webterm — Node.js + Express + Socket.IO + node-pty + React + xterm.js
  6. Installs systemd services for both the web terminal and cloudflared
  7. Registers the device in KV so it immediately appears on tov.yourdomain.com

Usage

# Interactive — prompts for Cloudflare credentials and admin password
sudo npx @tovex/toast

# Non-interactive (CI / headless)
sudo CF_API_TOKEN=xxx CF_ACCOUNT_ID=xxx CF_ZONE=yourdomain.com \
     ADMIN_USER=admin ADMIN_PASS=yourpassword \
     npx @tovex/toast

# With a custom working directory
sudo npx @tovex/toast /opt/webterm

Credentials via GitHub (optional, zero-prompt)

If the GitHub CLI (gh) is installed and authenticated on the machine, the installer automatically fetches the Cloudflare credentials (CF_API_TOKEN, CF_ACCOUNT_ID, CF_ZONE) from a private GitHub repo — no manual paste needed. Access is gated by GitHub auth: only authenticated accounts with read access to the private repo can retrieve them.

# Default repo / file (override with env vars):
GH_SECRETS_REPO=Bibin-VR/tovex-secrets
GH_SECRETS_FILE=tov-cloudflare.env

The file is a plain .env:

CF_API_TOKEN=cfut_...
CF_ACCOUNT_ID=...
CF_ZONE=yourdomain.com

Precedence: explicit environment variables → GitHub repo → interactive prompt. Set SKIP_GH_CREDS=1 to always prompt instead. On a fresh machine, run gh auth login first (and ensure that account has read access to the repo).

Required Cloudflare API token permissions

Create at dash.cloudflare.com → My Profile → API Tokens → Create Custom Token:

| Permission | Level | |-------------------------|-------| | Cloudflare Tunnel | Edit | | DNS | Edit | | Workers Scripts | Edit | | Workers KV Storage | Edit | | Account Settings | Read |

Set Account resources to your account and Zone resources to your domain.

After install

| URL | Purpose | |-----|---------| | https://tov-sysN.yourdomain.com | Web terminal for this device | | https://tov.yourdomain.com | Fleet registry (all devices) |

Included stack

Backend · Node.js · Express · Socket.IO · node-pty · better-sqlite3
Frontend · React · xterm.js · Tailwind CSS
Auth · bcrypt · express-session · CSRF tokens · RBAC (admin/viewer)
Security · Helmet · CSP · HSTS · host-guard · rate limiting · account lockout
Infra · Cloudflare Tunnel · systemd

License

MIT