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

oma-drop

v1.0.4

Published

oma 的局域网文字和文件快传工具。

Readme

oma-drop

oma-drop is a lightweight, self-hosted LAN drop for sending text and files between computers and phones. Start one local service, open its address on the same network, and share content immediately.

Chinese README

oma-drop interface

Why oma-drop

  • No account, login, or authentication flow
  • Text messages delivered in real time over WebSocket
  • New clients receive all messages from the current service session
  • Files up to 100 MB with original filenames preserved, including Chinese filenames
  • Messages and uploaded files are kept only for the current process session
  • Single Node.js service with no database and no separate frontend build

oma-drop is designed for trusted local networks. It does not provide access control or durable history.

Install

Requires Node.js 18 or newer.

npm

Install globally for a persistent command:

npm install --global oma-drop
oma-drop start

Or run it without a global installation:

npx oma-drop start

Homebrew

brew tap wyf0931/oma-drop
brew install oma-drop
oma-drop start

Start and connect

After startup, oma-drop prints the addresses that can be opened in a browser:

Access URLs:
  Local: http://localhost:3000
  LAN: http://192.168.0.46:3000

Open the LAN address on other devices connected to the same network. The service binds to 0.0.0.0 by default and reports detected private IPv4 addresses in the 10.*, 172.16.* to 172.31.*, and 192.168.* ranges.

Change the port when needed:

oma-drop start --port 8080

The CLI also accepts the PORT environment variable.

Commands

oma-drop start             # Start in the background
oma-drop stop              # Stop the service
oma-drop restart           # Restart and clear the current session
oma-drop status            # Show status and access URLs
oma-drop logs              # Show recent server logs
oma-drop run               # Run in the foreground
oma-drop --help            # Show command help

When using npx, prefix the same commands with npx oma-drop.

Source checkout

npm install
./bin/ops.sh start
./bin/ops.sh status
./bin/ops.sh stop

The source operations script also supports restart and logs. npm start runs the server in the foreground.

Runtime data

The npm CLI stores its PID file, log, port information, and temporary uploads under ~/.oma-drop/. The server stores messages in memory. Restarting the service clears the current messages and uploaded files by design.

Architecture

  • Node.js 18+
  • Express 5 for HTTP routes and static assets
  • ws for real-time messaging
  • Multer for multipart file uploads
  • Native HTML, CSS, and JavaScript frontend

HTTP and WebSocket traffic share one port. The project intentionally remains a single service without authentication, a database, or a separate frontend application.

License

MIT. See LICENSE.

Maintenance

Project background, implementation boundaries, operational commands, and maintenance conventions are documented in AGENTS.md.