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

nyashare

v0.0.3

Published

CLI tool to share files over local network

Readme

A CLI tool to share files over your local network. No internet required - just connect to the same WiFi router!

Discord Support Server

Features

Zero Configuration - Automatically discovers devices on your network
📁 File & Folder Sharing - Send individual files or entire directories
🌐 Web UI - Access through any browser at http://IP:PORT/share
🔒 Local Only - Files never leave your local network
📱 Cross-Platform - Works on macOS, Linux, and Windows

Usage

npx nyashare

Or run locally after cloning snxhasish/nyashare:

npm install
npm run build
node dist/cli.js

Usage

Interactive Mode (Recommended)

Simply run:

npx nyashare

This starts the server and opens an interactive CLI where you can:

  • Send files to discovered devices
  • List available devices on the network
  • Open the web UI in your browser

Send Files via CLI

# Send a file
npx nyashare send /path/to/file.pdf

# Send a folder
npx nyashare send /path/to/folder

Web Interface

Access the web UI from any device on your network:

http://<YOUR_IP>:3000/share

The CLI will display the exact URL when it starts.

How It Works

  1. Discovery: Uses UDP broadcast to find other devices running NyaShare on the same network
  2. Server: Each device runs an Express server to handle file uploads/downloads
  3. Transfer: Files are sent directly from device to device over HTTP
  4. Storage: Received files are saved to ~/Downloads/nyashare/uploads/

Commands

| Command | Description | | -------------------- | -------------------------------------------------------------------- | | nyashare | Start interactive mode | | nyashare start | Start the server and CLI (same as above) | | nyashare receive | Receive mode: start in receiver mode, accept or decline incoming req | | nyashare --help | Show help information | | nyashare --version | Show version number |

Network Requirements

  • All devices must be connected to the same local network (same router)
  • No internet connection required
  • Firewall must allow traffic on port 3000 (auto-configured) and UDP port 41234

Project Structure

nyashare/
├── src/
│   ├── cli.ts          # CLI interface & commands
│   ├── server.ts       # Express server & file handling
│   ├── discovery.ts    # UDP device discovery
│   ├── transfer.ts     # File transfer logic
│   └── types.ts        # TypeScript interfaces
├── public/
│   ├── index.html      # Landing page
│   └── share.html      # File sharing web UI
├── dist/               # Compiled JavaScript
└── package.json

Development

# Run in development mode
npm run dev

# Build TypeScript
npm run build

# Run type checking
npm run typecheck

# Run linting
npm run lint

Troubleshooting

No devices found?

  • Make sure all devices are on the same WiFi network
  • Check that firewall isn't blocking UDP port 41234
  • Try restarting the CLI on all devices

Can't access web UI?

  • Verify the IP address shown in the CLI
  • Check if port 3000 is available or if another service is using it
  • The CLI automatically finds an available port if 3000 is taken

File transfers failing?

  • Ensure both devices are still running nyashare
  • Check disk space on the receiving device
  • For large files, ensure stable network connection

License

MIT