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

speedra

v1.0.22

Published

A beautiful, modern CLI tool for network performance testing using iperf3 with a stunning TUI interface

Readme

speedra

npm version CI Node.js License: MIT

A beautiful, modern TUI-based CLI tool for network speed testing using iperf3. Test your connection against multiple servers with real-time progress, geolocation-aware server ranking, and Catppuccin Mocha visuals.

                         _
                        | |
 ___ _ __   ___  ___  __| |_ __ __ _
/ __| '_ \ / _ \/ _ \/ _` | '__/ _` |
\__ \ |_) |  __/  __/ (_| | | | (_| |
|___/ .__/ \___|\___|\__,_|_|  \__,_|
    | |
    |_|

 v1.0.0  — network speed test

📍 Amsterdam, NL

Available Servers
────────────────────────────────────────────────
◉ ⭐ 🇩🇪 Frankfurt · Frankfurt am Main, Germany
    213.165.53.248:5201  ●●●  312 km  42 ms  AS207567 Intezio
○    🇪🇪 Tallinn · Tallinn, Estonia
    138.124.100.47:5201  ●●●  450 km  61 ms  AS207567 Intezio
○    🇳🇱 Netherlands · Eygelshoven, Netherlands
    138.124.105.21:5201  ●●○  890 km  38 ms  AS207567 Intezio
○    🇵🇱 Warsaw · Warsaw, Poland
    95.85.254.73:5201    ●●●  520 km  55 ms  AS207567 Intezio

↑↓ Navigate · Space Select · Enter Start · n Nearest · Esc Cancel · r Reset · q Quit

Installation

Linux x64 (run now, no install)

bash <(curl -fsSL https://raw.githubusercontent.com/xdearboy/speedra/main/scripts/run-linux.sh)

To pass flags, use this form instead:

curl -fsSL https://raw.githubusercontent.com/xdearboy/speedra/main/scripts/run-linux.sh | bash -s -- --nearest
curl -fsSL https://raw.githubusercontent.com/xdearboy/speedra/main/scripts/run-linux.sh | bash -s -- --nearest-asn

Linux x64 (install one command)

bash <(curl -fsSL https://raw.githubusercontent.com/xdearboy/speedra/main/scripts/install.sh)

Via npm (requires Node.js ≥ 18)

npm install -g speedra

Or run without installing:

npx speedra

Standalone binary (no Node.js required)

Download the binary from GitHub Releases:

| Platform | File | | --------- | ------------------- | | Linux x64 | speedra-linux-x64 |

Note: right now CI builds only Linux x64 binary due current GitHub runner/workflow limitations.

Make it executable (Linux):

chmod +x speedra-linux-x64
./speedra-linux-x64

iperf3

speedra requires iperf3. If it's not installed, speedra will offer to install it automatically on first run:

  ✗  iperf3 is not installed or not found in PATH.

  Install iperf3 automatically? [Y/n]

Press Enter and speedra will detect your package manager and install iperf3 for you.

Supported package managers: brew, port, apt-get, dnf, yum, pacman, apk, zypper, winget, choco, scoop.

To install manually:

# macOS
brew install iperf3

# Ubuntu / Debian
sudo apt-get install iperf3

# Fedora / RHEL
sudo dnf install iperf3

# Arch Linux
sudo pacman -S iperf3

# Windows (winget)
winget install ESnet.iperf3

Usage

speedra           # launch TUI
speedra --version # print version
speedra -v        # same
speedra --nearest # auto-start nearest server test
speedra --nearest-asn          # auto-start nearest server in your own ASN (fallback to nearest)
speedra --nearest-asn as207567 # auto-start nearest server matching a specific ASN

Workflow

  1. Launch — speedra detects your location and ranks servers by distance + latency
  2. Select — navigate with ↑↓, toggle with Space
  3. Test — press Enter or n to instantly test the nearest server
  4. Results — color-coded download/upload speeds, latency, ASN info

Keyboard shortcuts

| Key | Action | | --------- | ------------------------------------------- | | / | Navigate server list | | Space | Toggle server selection | | Enter | Start tests for selected servers | | n | Select nearest server and start immediately | | Esc | Cancel running test | | r | Reset results | | q | Quit |

Features

  • Auto-install iperf3 — detects your package manager and installs on first run
  • Server availability check — offline servers are marked ✗ offline and cannot be selected
  • Geolocation ranking — servers sorted by combined distance + ping score
  • Real-time progress — animated bar, live bandwidth, sparkline trend
  • Color-coded results — green ≥100 Mbits/s, yellow ≥10, red <10
  • Distance indicators — ●●● < 500 km, ●●○ 500–2000 km, ●○○ > 2000 km
  • Standalone binaries — no Node.js required, download and run

Test servers

| Name | IP | Port | Location | | ------------------- | -------------- | ---- | ----------- | | Frankfurt | 213.165.53.248 | 5201 | Germany | | Tallinn | 138.124.100.47 | 5201 | Estonia | | Netherlands | 138.124.105.21 | 5201 | Netherlands | | Warsaw | 95.85.254.73 | 5201 | Poland | | Frankfurt (play2go) | 94.156.114.3 | 5201 | Germany | | Amsterdam (play2go) | 144.31.30.177 | 5201 | Netherlands | | Zurich | 185.102.218.1 | 5201 | Switzerland |

All tests use 8 parallel TCP streams (-P 8) for accurate throughput measurement.

Requirements

  • Node.js 18+ (npm install) or no requirements (standalone binary)
  • iperf3 — auto-installed on first run if missing
  • Terminal: 80×24 minimum

Troubleshooting

speedra: command not found after global install:

npm bin -g   # find the bin directory
# add it to PATH in ~/.bashrc or ~/.zshrc
export PATH="$(npm bin -g):$PATH"

Connection refused / test fails:

  • Check firewall allows outbound TCP on port 5201
  • Verify server is reachable: iperf3 -c 213.165.53.248 -p 5201

Terminal looks garbled after crash:

reset

License

MIT