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

webrig

v1.0.40

Published

General-purpose Electron browser with audio routing to Discord

Downloads

4,282

Readme

Webrig

A general-purpose Electron browser with audio routing capabilities. It loads any web page in a full Chromium window and can stream that window's audio out to a Discord voice channel.

What it is

At its core this is a controllable browser window:

  • Loads any URL (YouTube, SoundCloud, voice calls, anything)
  • Runs on Chromium, compatible with sites that expect a modern Chrome browser
  • Controllable via Chrome DevTools Protocol (CDP) on port 9229 — use agent-browser to automate it
  • Navigation bar lets you change URLs on the fly

The Discord integration is one output channel — audio captured from whatever is playing in the window gets streamed into a Discord voice channel via a bot.

How It Works

  1. Electron opens a BrowserWindow loading TARGET_URL
  2. A Web Audio API tap intercepts all audio playing in the window (video elements, audio contexts, everything)
  3. Audio is encoded to Opus and streamed to a Discord voice channel via a bot token
  4. The window's local audio output is muted — audio only goes to Discord

Prerequisites

  • Node.js 18 or later
  • A Discord bot token with CONNECT and SPEAK permissions in the target voice channel

Installation

git clone <repo>
cd webrig
npm install --legacy-peer-deps
cp .env.example .env

Edit .env with your values.

Configuration (.env)

| Variable | Description | |---|---| | DISCORD_BOT_TOKEN | Discord bot token | | TARGET_URL | URL to load on startup | | GUILD_ID | Discord server ID | | CHANNEL_ID | Voice channel ID to join | | CDP_PORT | CDP debug port (default: 9229) |

To get Guild ID and Channel ID: enable Developer Mode in Discord settings, then right-click the server/channel and select "Copy ID".

Running

npm start

Browser Add-ons

  • addon-chrome/ — Chrome MV3 extension: tab audio/video relay, CDP passthrough, input forwarding
  • addon-firefox/ — Firefox MV2 add-on: same capabilities using persistent background page and tabCapture.capture()

Load unpacked in Chrome (chrome://extensions → Load unpacked → select addon-chrome/) or Firefox (about:debugging → Load Temporary Add-on → select addon-firefox/manifest.json).

CDP / Agent Browser Control

The window exposes CDP on 127.0.0.1:9229. Use agent-browser:

agent-browser snapshot
agent-browser open https://example.com
agent-browser screenshot

~/.agent-browser/config.json sets {"cdp": "9229"} as default so no flag is needed.

Building

npm run build

Produces a Windows NSIS installer at dist/Webrig Setup x.x.x.exe.

Releases are also built automatically on every push to master at AnEntrypoint/webrig.