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

netprober

v1.5.0

Published

Concurrent Host/IP Prober with custom DNS resolution, port scanning, ping and curl support

Readme

🔍 netprober

Concurrent Host/IP Prober with custom DNS resolution, port scanning, ping and curl support

preview

✨ Features

  • Live terminal summary — progress bar, stats, and per-IP results update in real time
  • CIDR expansion — sweep entire subnets like 10.0.0.0/24 natively
  • Concurrent probing — tunable worker pool, non-blocking by default
  • Multiple check modes — multi port, ICMP ,ping, and HTTPS curl independently toggled
  • Structured output — results written to separate files as they land, no waiting
  • Support ip v4&v6
  • Detect Providers

📦 Installation

Via npm / pnpm / bun (global CLI)

# npm
npm install -g netprober

# pnpm
pnpm add -g netprober

# bun
bun add -g netprober

Then use it anywhere:

netprober --help

Run directly with Bun

Requires Bun — install it first

git clone https://github.com/maanimis/netprober
cd netprober
bun ./src/index.ts --help

Download prebuilt binary

A standalone binary is available for Linux x86-64 (amd64) — no Node, no Bun required.

  1. Head to the Releases page
  2. Download netprober-linux-amd64
  3. Make it executable and run:
chmod +x netprober-linux-amd64
./netprober-linux-amd64 --help

⚠️ Only linux/amd64 is currently available as a prebuilt binary. For other platforms, use the npm package or run with Bun directly.


🚀 Usage

netprober [options]

Flags

| Flag | Description | Default | | ----------------------- | -------------------------------- | ---------------- | | -i, --input <file> | Input hosts file | hosts.txt | | --output-ping <file> | Ping-up IPs output file | ping_up.txt | | --output-ports <file> | Open ports IPs output file | ports_open.txt | | -r, --resolver <ip> | DNS resolver to use | 127.0.0.1 | | -c, --concurrency <n> | Concurrent workers | 10 | | -t, --timeout <s> | Per-check timeout in seconds | 5 | | --ping-count <n> | ICMP ping packet count | 3 | | --ping | Enable ICMP ping checks | false | | --curl | Enable HTTPS curl checks | false | | -v, --verbose | Show all IPs, not just live ones | false | | -p, --ports | ports (e.g. 80,443,8000-8100) | 443 |


📋 Input Format

Create a hosts.txt file — one host, IP, or CIDR range per line:

example.com
api.example.com
192.168.1.0/24
10.0.0.1
https://target.com/path   ← URLs are sanitized automatically

⚡ Examples

# Basic — port 443(default) probe only
netprober -i hosts.txt

# Scan with multiport
netprober -i hosts.txt -p 443,8080,80,2080,2053

# Also can use range for ports(from 80 to 90)
netprober -i hosts.txt -p 80-90

# With ping + curl, using Google's DNS, 25 workers
netprober --ping --curl -r 8.8.8.8 -c 25

# Verbose output — show every IP, not just live ones
netprober -v --curl -t 3

# Sweep a CIDR range with curl enabled
netprober -i ranges.txt --curl -c 50

# Custom output files
netprober -i targets.txt -o live.txt --output-ports open_ports.txt

📁 Output Files

| File | Contents | | ---------------- | ------------------------------------------------- | | ping_up.txt | IPs responding to ICMP ping (requires --ping) | | ports_open.txt | IPs with open ports |

All files are written in real time as results come in — no waiting for the run to finish.


📄 License

MIT © maanimis